我知道this.setState是异步的。
但是现在,我使用Redux并且在reducer中没有this.setState。我可以使用setState的回调,但在redux中,我不知道在哪里放置回调以及如何。在行动? (不)在减速机?在组件?在容器?有存货? (没有)。
我是redux和reactnative的新手,所以我希望你理解我的问题。
我的数据正在更新,但迟到了一步。
例如:
点按:' a',state =''
点按:' ab,state =' a'
点按:' abc',state =' ab'
在组件中,我调用这样的函数:
let { myFunction1, myFunction2 } = this.props;
myFunction1();
所以设置状态有效,但我需要处理这个问题。
答案 0 :(得分:0)
您应该使用setState
来存储值onChange
,一旦用户完成输入,您就可以调用reducer功能来为您的商店节省价值。它会减少对减速器功能的调用次数。
示例:
<TextInput
underlineColorAndroid='transparent'
onSubmitEditing={() => this.onNextPress()}
onChangeText={(text) => this.onChangeText(text)}
/>
使用onChangeText(text)
来处理您的setState
,一旦提交(或您的事件被触发),请使用其他函数来处理减速器调用。在我的示例中,它是onNextPress()