ReactJs - 如何获得更新的状态,而在一个thunk的承诺
问题描述:
我正在开发一个应用程序,在发送数据到服务器之前,我们检查字段是否为空,并填充虚拟数据。ReactJs - 如何获得更新的状态,而在一个thunk的承诺
国家将数据发送到服务器之前:
state = {
title: '',
body: ''
}
我的调度功能:
this.props.dispatch((dispatch) => {
dispatch(initializeProcessForm());
dispatch(processForm(state));
});
里面initializeProcessForm
我检查,如果字段为空,并适当地填补他们,但考虑到我们不应该发生变异状态,我必须做一个新的状态对象并返回。
在这里,我失去了参考当前(新状态功能完成后),当讯(processForm(州))提交到服务器时,它仍持有空白字段的旧数据。
如何解决这个问题而不改变状态反应的方式?
我可以访问新状态的唯一方法是在Reduce内部进行一次调用,但是在处理成功或拒绝表单时,在调用Reducer之前会发生API调用。
答
的终极版,thunk的传递给你的thunk第二个参数是的getState
this.props.dispatch((dispatch, getState) => {
dispatch(initializeProcessForm());
const updatedState = getState();
dispatch(processForm(updatedState));
});