Прежде всего извините за плохой код. Я новичок в React, поэтому, пожалуйста, извините меня: P. Здесь я создал 2 кнопки, добавить и изменить подделку. Когда я нажимаю «Добавить», он не будет повторно отображать дочерний компонент, а когда я нажимаю «Изменить подделку», он повторно отображает компонент, потому что моя зависимость изменилась в useMemo, и он создает и отправляет новые реквизиты объекта дочернему элементу. Но я получаю предупреждение для useMemo о том, что это ненужная зависимость, хотя мне нужна зависимость. Как я могу уйти, что предупреждение уйти. Есть лучший способ сделать это?
Примечание. Мой дочерний компонент является фиктивным компонентом. Он ничего не делает с этими реквизитами.
import Child from "./Child";
const Parent = () => {
const [count, setCount] = useState(0);
const fakeValue = useRef(10);
const randomProp = useMemo(() => {
return { val: fakeValue.current };
}, [fakeValue.current]);
const changeFake = () => {
fakeValue.current = fakeValue.current + 1;
setCount(count + 1);
};
return (
<>
<div>{count}</div>
<div>{fakeValue.current}</div>
<button onClick={() => setCount(count + 1)}>add</button>
<button onClick={() => changeFake()}>Change fake</button>
<Child randomProp={randomProp} />
</>
);
};
export default Parent;
Выходная ссылка: https://i.stack.imgur.com/5spw1.png Ссылка CodeSandbox: https://codesandbox.io/s/silly-pine-fzjw9?file=/src/
Может глупый вопрос. Но я был бы признателен за отзывы от сообщества, пожалуйста :)