派遣行动后立即更改状态

时间:2020-05-06 14:22:39

标签: reactjs redux

我正在开发一个简单的测验应用程序,并希望调度一个动作(称为 FreeResponseSubmit )以将用户的输入(称为 searchField )存储到答案对象中,然后重置表单字段。我已经尝试链接承诺,并且在使用用户输入来更新Answers对象的同时,第二个“ then”未按计划工作(我假设先前的promise的响应不可用),而searchField值永远不会重置。

是否承诺进行正确的选择,还是异步/等待更好的路线?我花了很多时间试图弄清楚这个问题(对这些框架仍然是新的),所以对您的帮助将不胜感激。

free-response.component:

handleClick(){
  const searchFieldPromise= new Promise((resolve, reject)=>{
      resolve(this.state.searchField);
  });
  searchFieldPromise.then((searchField)=>this.props.freeResponseSubmit(searchField))
  .then((value)=>this.setState({searchField:""}));
}

1 个答案:

答案 0 :(得分:1)

cat "/proc/sys/kernel/pid_max" 1>&2方法中的逻辑实际上可以简化为:

handleClick

这是因为const { searchField } = this.state; const { freeResponseSubmit } = this.props; freeResponseSubmit(searchField); this.setState({ searchField:'' }); 的操作已经从组件状态获取了值,因此可以在redux中执行任何后续操作。因此,您只需清除组件的状态即可。