Используя useMemo
/ useCallback
ловушку в React, иногда я нахожу много неожиданных отрисовок, вызываемых useMemo
/ useCallback
возвращаемым значением.
Поскольку я использую React.memo
для уменьшения функции React Компонент бесполезного рендеринга, с помощью React.memo
второго параметра, я мог контролировать сравнение. Кроме того, я могу получить информацию о том, какая причина вызывает текущую визуализацию. Как после:
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;
})
Могу ли я узнать, какая причина вызывает useCallback
/ useMemo
, пересчитать, как раньше, или React DevTools