我在一个 react-native projetc 工作,我不太了解 Redux。我需要帮助。:D 我们得到了一个对象数组,例如:
lines[
{"cant":2, "ref":"bar"}, {"cant":5, "ref":"foo"}
]
每一行都是一张卡片信息。这些卡片有输入(cant, ref)来改变它的值。整个对象是:
obj:{
"a": '',
"b": '',
"lines": [
{"cant":2, "ref":"bar}",
{"cant":5, "ref":"foo"}
]
}
当用户在某些输入中插入一些值时,它调用 onChangeText()。
<Input
placeholder="Cant"
value={this.props.newOrder.lines[index].cant}
onChangeText={(text)=> {
this.props.onChangeCant({"cant":text,"index":index});
}}
/>
同时在 Reducer 中(我们使用react-addons-update):
case ON_CHANGE_CANT:
return update(state, {
lineas: {
[action.payload.index]: {
cant: {$set: action.payload.cant}
}
}
});
一切都很好,只是它只更新了一个字符。例如: Cant: 1.那么输入焦点丢失。如果您键入: Cant: 22。只有它更新2。打字快没关系。仅更新您输入的第一个字符。我们怀疑 Redux 的行为是问题所在,但我们不知道为什么。
我们尝试使用 debounce(lodash) 但我们没有成功
请问有什么想法吗?
太感谢了!我希望它理解我的解释。
摇滚比特