我正在使用React Reselect,并且我试图过滤selectedClients,这样我就只返回id为selectedClientsIds的clients.all。
selected_clients.js
import _ from 'lodash';
import { createSelector } from 'reselect';
const clientSelector = state => state.clients.all
const selectedClientSelector = state => state.selectedClientIds
const getClients = (all, selectedClientIds) => {
const selectedClients = _.filter(
all,
client => _.contains(selectedClientIds, all.id)
);
return selectedClients;
};
export default createSelector(
clientSelector,
selectedClientSelector,
getClients
);clients.all存储如下所示:
[
{
"id": 1,
"name": “Bob”,
},
{
"id": 2,
"name": “Mary ”,
}
]selectedClientIds存储如下所示:
[1]我如何将两者结合起来,以仅显示具有selectedClientId的id的客户端的列表?使用上面的过滤器,我一直得到一个空数组
[]发布于 2016-08-04 02:11:54
您需要传递client.id,而不是all.id
const getClients = (all, selectedClientIds) => {
const selectedClients = _.filter(
all,
client => _.contains(selectedClientIds, client.id)
);
return selectedClients;
};https://stackoverflow.com/questions/38750497
复制相似问题