加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 16:18:23 所属栏目:百科 来源:网络整理
导读:我正在开发一个应用程序,在将数据发送到服务器之前,我们检查字段是否为空并用虚拟数据填充它们. 在向服务器发送数据之前说明: state = { title: '',body: ''} 我的调度功能: this.props.dispatch((dispatch) = { dispatch(initializeProcessForm()); dispa
我正在开发一个应用程序,在将数据发送到服务器之前,我们检查字段是否为空并用虚拟数据填充它们.

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

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));
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读