如何在更改道具时防止原生选择器触发onvaluechange?

时间:2018-10-25 14:47:38

标签: javascript reactjs react-native redux react-native-android

我有一个选择器来选择一些项目。这些项目包括待处理项目,这些项目基本上正在等待Internet重新启动并与服务器同步。假设列表为:

[ {id:'1', name:'one'},
  {id:'2', name:'two'},
  {id:'local_3', name:'three'} ]

local_3是一项离线创建的项目,正在等待设备在线时进行同步。

当我在选择器上选择了three时,其中selectedValue={state.chosenValue}的selectedValue保持local_3,然后我打开了互联网,它同步并且恢复了状态(基本上是{id:'local_3', name:'three'}将变为{id:'3', name:'three'}),并且在selectedValue上设置的值也将更新。就在那一刻,onValueChange与第一个项目一起触发(在本例中为一个),并且由于我有代码使用该函数将项目设置为集合,因此它将第一项设置为状态值chosenValue

我将如何处理它,以便当我选择待处理的对象并对其进行更新,而选择器仍保持此值处于选中状态(在这种情况下为新ID)?

0 个答案:

没有答案