В компоненте есть мемоизированный компонент
Почему, когда у нас data без useMemo, то компонент MemoCountBtn не перерисовывается при ререндере родителя?
Но при этом, если функцию foo написать без callBack, то MemoCountBtn рередерится
Хотя и foo и data пересоздаются при ререндере родителя
export function Root() {
const [num, setNum] = useState(1)
const foo = useCallback(() => {
setNum(5)
}, [])
// function foo() {
// setNum(5)
// }
function counting(x) {
return x * x * x
}
const data = counting(num)
<MemoCountBtn func={foo} data={data} />
}
Есть компонент
const CountBtn = ({ func, data}) => {
return(
<div>
<p>{data}</p>
<button onClick={() => func()}>
Click CountBtn
</button>
</div>
)
}
const MemoCountBtn = memo(CountBtn)