react-native - mapStateToProps 必须与 getDerivedStateFromProps 一起使用吗?
问题描述
我尝试在我的 react native 应用程序中使用 Redux。我绝对可以看到减速器更新了该值,但我的问题是为什么它没有自动更新我的类的属性?
我需要使用 getDerivedStateFromProps 来填充我的类属性。我希望以下内容:
const mapStateToProps = (state) => { return { email: state.user }
会自动使用 redux 商店中的值更新 this.state.email ,但它不会。我需要执行以下操作才能工作:
静态 getDerivedStateFromProps(props, state) {return { user: props.user}}
解决方案
您可以在组件中直接使用 reducer。当 reducer 中的值发生变化时,它也会自动更新。例如,如果您想user
在组件中使用变量,则可以按如下方式使用它:
<Text>{this.props.user}</Text>
现在,当user
reducer 中的变量值发生变化时,它会在<Text>
组件中自动更新。您不需要使用此行:
static getDerivedStateFromProps(props, state) {return { user: props.user}}
推荐阅读
- javascript - 引导示例轮播代码不切换幻灯片
- react-native - 当组件以 React Native 呈现时,动态添加组件道具
- object - Dart:如何将对象数组转换为哈希图数组?
- pandas - 如何获取日期以及我执行的功能?
- eclipse - 为什么 Eclipse 加载速度比 Canopy 快?
- java - 尽管 firebase 参考没问题,但出现空错误 -
- python - socket.gaierror:[Errno 11001] getaddrinfo。Flask 应用程序在一周前工作,现在我看到了这个错误。不知道发生了什么
- python - 使用条件从另一列复制值
- r - 每次修改源文件时,如何防止 R.cache 包的 memoizedCall() 更新缓存?
- c++ - 不能 push_back 进入向量 - 不给出过载错误