как создать 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]);