React Native - Redux 不会立即更新
Posted
技术标签:
【中文标题】React Native - Redux 不会立即更新【英文标题】:ReactNative - Redux not immediately update 【发布时间】:2017-12-07 14:53:31 【问题描述】:我知道 this.setState 是异步的。
但是现在,我使用 Redux 并且在 reducer 中没有 this.setState。我可以为 setState 使用回调,但在 redux 中我不知道将回调放在哪里以及如何放置。在行动? (否)在减速机中?在组件?在容器中?有货? (没有)。
我是 redux 和 reactnative 的新手,所以希望你能理解我的问题。
我的数据正在更新,但晚了一步。
示例:
点击:'a',状态 = ''
点击:'ab, state = 'a'
点击:'abc',状态 = 'ab'
在组件中,我这样调用函数:
let myFunction1, myFunction2 = this.props;
myFunction1();
所以设置状态有效,但我需要晚点处理。
【问题讨论】:
【参考方案1】:您应该使用setState
来存储价值onChange
,一旦用户完成输入,您就可以调用您的reducer 函数来将价值保存到您的商店。它将减少对 reducer 函数的调用次数。
例子:
<TextInput
underlineColorandroid='transparent'
onSubmitEditing=() => this.onNextPress()
onChangeText=(text) => this.onChangeText(text)
/>
使用 have onChangeText(text)
来处理您的 setState
并且一旦提交(或您的事件触发),使用另一个函数来处理 reducer 调用。在我的例子中是onNextPress()
【讨论】:
以上是关于React Native - Redux 不会立即更新的主要内容,如果未能解决你的问题,请参考以下文章
React Native 和 Redux:为啥子组件不会在每次状态更新时重新渲染?
React-Native 开发 在react-native 中 运用 redux
在 iOS 设备上使用 Redux-Persist 和 React Native 时崩溃
使用 react-redux 与 react-native 连接时的不变违规
React Native 已经有了异步存储。为啥我应该在我的 react native 应用中使用 Redux 和 Redux Thunk?