假设我有一个杂货店清单,其中列出了商品的标题和数量。假设我发现了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
答案 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.
}