当前位置 : 主页 > 网页制作 > React >

ReactJs – 如何在thunk promise中获得更新状态

来源:互联网 收集:自由互联 发布时间:2021-06-15
我正在开发一个应用程序,在将数据发送到服务器之前,我们检查字段是否为空并用虚拟数据填充它们. 在向服务器发送数据之前说明: state = { title: '', body: ''} 我的调度功能: this.props.
我正在开发一个应用程序,在将数据发送到服务器之前,我们检查字段是否为空并用虚拟数据填充它们.

在向服务器发送数据之前说明:

state = {
  title: '',
  body: ''
}

我的调度功能:

this.props.dispatch((dispatch) => {
  dispatch(initializeProcessForm());
  dispatch(processForm(state));
});

在initializeProcessForm中我检查字段是否为空并适当填充它们,但考虑到我们不应该改变状态,我必须创建一个新的状态对象并返回.

在这里,我松开了对当前的引用(函数完成后的新状态),并且当dispatch(processForm(state))提交给服务器时,它仍然保留带有空白字段的旧数据.

如何在不改变状态反应方式的情况下解决这个问题?

我可以访问新状态的唯一方法是,当我处理成功或拒绝表单时,我在Reducer内部进行API调用,然后转到reducer.

redux-thunk传递给你的thunk的第二个参数是getState

this.props.dispatch((dispatch, getState) => {
  dispatch(initializeProcessForm());
  const updatedState = getState();
  dispatch(processForm(updatedState));
});
网友评论