ReactNative - Redux不会立即更新

时间:2017-07-04 08:27:02

标签: android react-native redux components

我知道this.setState是异步的。

但是现在,我使用Redux并且在reducer中没有this.setState。我可以使用setState的回调,但在redux中,我不知道在哪里放置回调以及如何。在行动? (不)在减速机?在组件?在容器?有存货? (没有)。

我是redux和reactnative的新手,所以我希望你理解我的问题。

我的数据正在更新,但迟到了一步。

例如:

  

点按:' a',state =''

     

点按:' ab,state =' a'

     

点按:' abc',state =' ab'

在组件中,我调用这样的函数:

let { myFunction1, myFunction2 } = this.props;
myFunction1();

所以设置状态有效,但我需要处理这个问题。

1 个答案:

答案 0 :(得分:0)

您应该使用setState来存储值onChange,一旦用户完成输入,您就可以调用reducer功能来为您的商店节省价值。它会减少对减速器功能的调用次数。

示例:

<TextInput
    underlineColorAndroid='transparent'
    onSubmitEditing={() => this.onNextPress()}
    onChangeText={(text) => this.onChangeText(text)}
/>

使用onChangeText(text)来处理您的setState,一旦提交(或您的事件被触发),请使用其他函数来处理减速器调用。在我的示例中,它是onNextPress()