从Redux设置初始状态

Cha*_*mes 3 reactjs react-redux

我在redux商店中存储了用户名,全名和电子邮件地址.我有一个需要电子邮件地址的组件,因此它可以进行API调用以获取用户组信息(使用域 - 即chase@gmail.com成为使用gmail.com进行数据库查询的关键).组件连接到商店并使用mapStateToProps来获取状态信息.

在this.stat = {}中做这样的事情是一种反模式吗?

this.state = {
  group: '',
  owner: this.props.user.id,
  domain: this.props.user.email.split('@')[1],
  errors: {},
}
Run Code Online (Sandbox Code Playgroud)

谢谢你提出的所有建议.

Dmi*_*nko 5

在本地状态复制redux状态并不是一个好习惯.

为什么?因为它不可扩展.想象一下,如果你的数据将需要改变.因此,您需要更新本地状态和redux状态.而且,如果您的redux状态将发生变化 - 您需要更新本地状态.这将成为意大利面.


你可以做什么?

您只能使用道具中的数据.实施shouldComponentUpdate方法以确保您的数据始终是最新的.

shouldComponentUpdate(nextProps, nextState) {
  return this.props.user !== nextProps.user
}
Run Code Online (Sandbox Code Playgroud)

并使用道具中的数据.