我使用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。
我想知道这意味着什么。我只是使用我的本地州,它似乎工作得很好。 这样做有什么问题吗?你能否就这一点提供更多信息?
此外,如果您对我的用例有任何建议或优化,请随时添加它们。
感谢您的时间。
答案 0 :(得分:5)
假设您有一个Contacts
组件,其中包含数据中每个项目的FlatList呈现Contact
组件。我们还要说这些联系人是可选择的。如果将这些选择值(例如selected: true
)存储在Contact
组件内部状态而不是Contacts
组件状态中,则当项目滚动出来时,它将被卸载并且状态为项目将被重置。如果您将其保存在全局数据中,则将使用最后一个状态创建它。
希望我能够解释。