通过在React中使用useMemo
/ useCallback
钩子,有时我发现许多由useMemo
/ useCallback
返回值引起的意外渲染。
由于我使用React.memo
减少了React.memo
第二个参数,从而减少了React函数组件的无用渲染,因此我可以控制比较。 此外,我还可以获取导致当前渲染的道具。如下所示:
const MemoComponent = React.memo((props) => {},(prevProps,nextProps) => {
for (const key in prevProps) {
const prevValue = prevProps[key];
const nextvalue = nextProps[key];
if (prevValue !== nextvalue) {
return false; // form here I can get which cause render
}
}
return true;
})
我可以像以前一样还是React devtools来重新计算哪个依赖项导致useCallback
/ useMemo
重新计算?