当组件由地图“生成”时,react.memo(或钩子版本)以某种方式无法工作。
代码示例:https ://codesandbox.io/embed/react-memo-example-iuqf4
const Item = ({ step }) => <div>{step.name}</div>;
const MemoItem = React.memo(Item, (prevProps, nextProps) => {
console.info("memo"); //no console
if (prevProps.show === nextProps.show) {
return true;
}
return false;
});
const initialSteps = [{
name: "Pim",
show: true
}, {
name: "Christa",
show: false
}, {
name: "Henk",
show: true
}, {
name: "klaas",
show: true
}];
{steps.steps.map((step,
<MemoItem key={index} step={step} />
))}
我的期望是每个渲染的项目都会被“记忆”(并在控制台中显示日志)。