首页 > 解决方案 > React/Redux/Thunk 表单数据流

问题描述

在几个视频课程之后,我对如何使用 React/Redux 和 Thunk 管理表单上的数据感到困惑。

我希望表单上的所有数据都是本地数据,并在按下“保存”按钮时写入存储。所以我没有使用任何 Formik 或任何类似的库。

据我了解,所有数据都应该来自 reducer,因此我的 reducer 将初始空对象发送到mapStateToProps. 现在什么时候应该将数据从 props 传递到组件的本地状态?

我之前需要这样做,componentDidMount因为我的输入绑定到状态中的数据对象。构造函数也不是一个好地方。

我可以直接做:

state = {
  data: this.props.data,
};

或者更确切地说?:

state = {
  data: {...this.props.data}
};

当它是一个编辑表单时,我在 中调用一个 API,我componendDidMount如何从 API 刷新表单上的数据?这个对吗?:

componentDidUpdate() {
  if (this.props.data && this.state.data !== this.props.data) {
    this.setState({ data: this.props.data });
  }
}

谢谢你的澄清

标签: javascriptreactjsreduxreact-reduxredux-thunk

解决方案


推荐阅读