我正在开发一个应用程序,在将数据发送到服务器之前,我们检查字段是否为空并用虚拟数据填充它们. 在向服务器发送数据之前说明: 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的第二个参数是getStatethis.props.dispatch((dispatch, getState) => { dispatch(initializeProcessForm()); const updatedState = getState(); dispatch(processForm(updatedState)); });