Всем привет!
При подписке в разных компонентах на 1 контекст:
const objContext = { name: "Max", changeName: () => {} }
где в компоненте 1 я вывожу name:
const Component1 = () => {
const { name } = useContext(objContext);
return (
<p>Name: {name}</p>
);
};
а в компоненте 2 вызываю функцию которая в родителе меняет name:
const Component2 = () => {
const { changeName } = useContext(objContext);
return (
<div>
<button onClick={changeName}>Change name</button>
</div>
);
};
Как написано в доке к реакт:
Компонент, вызывающий useContext, всегда будет перерендериваться при изменении значения контекста.
Вопрос: можно ли избавить от лишнего рендера Component2 где просто вызывается функция на изменение имени которая по сути никак не меняется ?