React Native - FlatList - 内部状态

时间:2018-02-22 11:28:24

标签: react-native react-native-flatlist

我使用FlatList在我的react-native应用程序中实现{ "code": 1, "message": { "Object1": [ { "Id": 1, "Name": "COWDUNG", "manufacturer": "OWN", "description": "ORGANIC MANUER", "type": "Fertilizer" } ] } } View。

我从我在组件的componentDidMount循环步骤中完成的API调用中检索商店项目,然后将其存储在我的本地Store中。

我在Flatlist文档中找到了这句话:

  

当内容滚出渲染窗口时,不会保留内部状态。确保所有数据都记录在项目数据或外部存储中,如Flux,Redux或Relay。

我想知道这意味着什么。我只是使用我的本地州,它似乎工作得很好。 这样做有什么问题吗?你能否就这一点提供更多信息?

此外,如果您对我的用例有任何建议或优化,请随时添加它们。

感谢您的时间。

1 个答案:

答案 0 :(得分:5)

假设您有一个Contacts组件,其中包含数据中每个项目的FlatList呈现Contact组件。我们还要说这些联系人是可选择的。如果将这些选择值(例如selected: true)存储在Contact组件内部状态而不是Contacts组件状态中,则当项目滚动出来时,它将被卸载并且状态为项目将被重置。如果您将其保存在全局数据中,则将使用最后一个状态创建它。

希望我能够解释。