Я, что FooBlock
перерисовать только с изменением foo
export function FooBarComponent() {
const [foo, setFoo] = useState(1)
const [bar, setBar] = useState(1)
const FooBlock = () => {
console.log("render", foo)
return <div>{foo}</div>
}
return <div>
<button onClick={() => setFoo(x => x + 1)}>foo</button> {foo}
<button onClick={() => setBar(x => x + 1)}>bar</button> {bar}
<FooBlock/>
</div>
}
Я могу сделать что-то вроде этого
const FooBlock = useMemo(() => React.memo(() => {
console.log("render", foo)
return <div>{foo}</div>
}), [foo])
Но это выглядит немного странно.Есть ли лучший способ?