“USESTATE CALFLACK” Ответ

USESTATE CALFLACK

const [counter, setCounter] = useState(0);

const doSomething = () => {
  setCounter(123);
}

useEffect(() => {
   console.log('Do something after counter has changed', counter);
}, [counter]);
Troubled Termite

Как использовать обратный вызов `setState` на крючках React

//You need to use useEffect hook to achieve this.

const [counter, setCounter] = useState(0);

const doSomething = () => {
  setCounter(123);
}

useEffect(() => {
   console.log('Do something after counter has changed', counter);
}, [counter]);
Marty McFly

USESTATE Hook с обратным вызовом

const [state, setState] = useState(null);
const myCallbacksList = useRef([]);
const setStateWithCallback= (newState, callback) => {
  setState(state);
  if(callback) myCallbackList.current.push(callback)
}
useEffect(() => {
  myCallbacksList.current.forEach((callback) => callback())
  myCallbacksList.current = [];
}, [state]);
…
setStateWithCallback(newState, myCallback)
Splendid Salmon

Ответы похожие на “USESTATE CALFLACK”

Вопросы похожие на “USESTATE CALFLACK”

Больше похожих ответов на “USESTATE CALFLACK” по JavaScript

Смотреть популярные ответы по языку

Смотреть другие языки программирования