Как выключить обратный вызов после обновления состояния в Возвращении?

В Реагируют, состояние не быть обновленным немедленно, таким образом, мы можем использовать обратный вызов в setState(state, callback). Но как сделать это в Возвращении?

После вызова this.props.dispatch(updateState(key, value)), Я должен сделать что-то с обновленным состоянием сразу.

Есть ли какой-либо способ, которым я могу назвать обратный вызов с последним состоянием как то, в чем я выполняю, Реагируют?

59
задан 16 September 2016 в 09:16

2 ответа

С Рычагами API:

useEffect с опорой, как введено.

import React, { useEffect} from 'react'
import { useSelector } from 'react-redux'

export default function ValueComponent() {
   const value = useSelectror(store => store.pathTo.value)

   useEffect(() => {
     console.log('New value', value) 
     return () => {
        console.log('Prev value', value) 
     }

   }, [value])

   return <div> {value} </div>
}
1
ответ дан 1 November 2019 в 12:28

Как простое решение можно использовать: обещание возвращения

, Но если Вы использующий преобразователь возвращения , необходимо сделать sth как это:

function addCost(data) {
  return dispatch => {
    var promise1 = new Promise(function(resolve, reject) {
      dispatch(something);
     });
    return promise1;
  }
}
0
ответ дан 1 November 2019 в 12:28

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

Похожие вопросы: