【问题标题】:React Redux request for Form optionsReact Redux 请求表单选项
【发布时间】:2017-04-11 15:04:45
【问题描述】:

对表单下拉选项发出异步请求的正确方法是什么?
有大量的下拉选项,例如城市。我们希望这些存储在状态中吗?

通常我们会为“城市”创建 Redux 操作发出请求,并通过 Redux 存储使用“城市”选项更新状态。 MapDispatchToProps 并从 componentDidMount 调用 Redux 操作。

componentDidMount = () => {
  this.props.fetchCitiesOptions()
}

MapStateToProps 将包括options: cities,它可能是 1000 个或更多城市,并且仅在 1 个表单上使用。我们想在全局状态下携带它吗?如果没有,有什么更好的方法?学习。谢谢。

【问题讨论】:

标签: reactjs redux state dispatch


【解决方案1】:

您可以选择只为这个表单元素设置本地状态。如果您想要一个受控组件,但不希望/不需要选项处于全局状态,请为您的表单创建一个包装器组件以跟踪本地状态并仅更新 componentDidMount 中的本地状态。您可以混合/匹配本地和全局状态,具体取决于项目中需要该状态的位置。如果您在项目状态的其余部分不需要表单提交数据,则此本地状态还可以跟踪表单更改和提交。

【讨论】:

  • 在使用带有 Redux 的 React 时,在 Redux 操作之外进行异步调用是一种好的设计实践吗?
猜你喜欢
  • 2021-06-18
  • 2019-09-23
  • 2017-06-12
  • 1970-01-01
  • 2021-11-22
  • 2019-10-20
  • 1970-01-01
  • 1970-01-01
  • 2020-10-26
相关资源
最近更新 更多