как создать callbackRef с зависимостями

Это сообщение в блоге и официальная документация показывают, как использоватьuseCallback для создания обратного вызова исх.

Но ни у кого нет примера случая, когда useCallback имеет зависимости.

Как мне это настроить?

Например, если я сделаю следующее, это не сработает, потому что обратный вызов будет запускаться без каких-либо аргументов всякий раз, когда myDependency изменения.

const [myDependency, setMyDependency] = useState();

const myRef = useCallback(node => {
    doSomeMagic(node, myDependency);
}, [myDependency]);

1 ответ

Я думаю, что лучший способ сделать это - разбить логику на useCallback и useEffect. useCallback используется для отслеживания узла. useEffect используется для срабатывания при изменении узла ИЛИ myDependency изменения.

const [node, setNode] = useState();
const [myDependency, setMyDependency] = useState();

const myRef = useCallback(node => {
    setNode(node);
}, []);

useEffect(() => {
    doSomeMagic(node, myDependency);
}, [node, myDependency]);

Другие вопросы по тегам