如何跟踪新增加值的状态变化

时间:2020-03-17 22:38:32

标签: react-native

假设我有一个杂货店清单,其中列出了商品的标题和数量。假设我发现了1箱牛奶,需要2箱。因此,我更新了列表,以便只需要再发现1箱牛奶。如果我知道列表的内容,则可以使用state跟踪每个项目并重新呈现列表。问题是,如果我需要添加新项目怎么办。如何使用状态来跟踪无限数量的新添加的值。我已经找到了执行此操作的示例,但我想知道执行此操作最有效的方法是什么。

例如:

Eggs 2

Milk 2

Carrots 5

找到了一个牛奶纸箱,所以我将牛奶数量更新为1。重新渲染列表。

Eggs 2 

Milk 1 

Carrots 5

但是现在我为苹果添加了新的价值。我现在如何追踪苹果?如果未从头开始跟踪状态,则如何更改值时如何重新呈现它。

Eggs 2 

Milk 1 

Carrots 5

Apples 2 <-- How do I track this items state / re render the list when it changes

1 个答案:

答案 0 :(得分:1)

如果数据来自 API ,则您必须在特定时间间隔后刷新或重新调用方法。只需确保用户没有对“平面列表”进行任何更改(不对其执行任何操作)。这是设置间隔的示例代码

componentDidMount()
  {
   this._interval = setInterval( () => {this.DataReload()}, 180*1000);  

  } ;

componentWillUnmount()
  {
   clearInterval(this._interval);
  };

 DataReload =()=>{
 //here your code and call you API. update your state data, when the state is changed then your flat-list automatically re-render.
}