Предположим, у меня есть следующие компоненты React:
const Compo1 = ({theName}) => {
return (
<Nested foo={() => console.log('Dr. ' + theName)}/>
);
};
const Compo2 = ({theName}) => {
function theFoo() {
console.log('Dr. ' + theName);
}
return (
<Nested foo={theFoo}/>
);
};
И вложенный компонент, завернутый в memo
:
const Nested = React.memo(({foo}) => {
return (
<Button onClick={foo}>Click me</Button>
);
});
Функция передана в foo
is всегда воссоздан в Compo1
, а также Compo2
, верно?
Если так, то, поскольку foo
каждый раз получает новую функцию, означает ли это, что memo
будетбесполезно, поэтому Nested
всегда будет перерисован?