有没有办法从 Redux 存储中的数组中选择派生数组而不进行虚假渲染?
我的 Redux 存储包含一个对象数组。
state = {items: [{id: 1, keys...}, {id: 2, keys...}, {id: 3, keys...}, ...]}
Run Code Online (Sandbox Code Playgroud)
我编写了一个选择器来返回 id 数组。
const selectIds = (state: MyStateType) => {
const {items} = state;
let result = [];
for (let i = 0; i < items.length; i++) {
result.push(items[I].id);
}
return result;
};
Run Code Online (Sandbox Code Playgroud)
然后,我在组件内部使用 React-Redux 的useSelector钩子调用这个选择器来渲染组件列表。
const MyComponent = () => {
const ids = useSelector(selectIds);
return (
<>
{ids.map((id) => (
<IdComponent id={id} key={id} />
))}
</>
); …Run Code Online (Sandbox Code Playgroud)