React Native - FlatList - 内部状态
Posted
技术标签:
【中文标题】React Native - FlatList - 内部状态【英文标题】:React Native - FlatList - Internal State 【发布时间】:2018-08-02 05:43:29 【问题描述】:我正在使用 FlatList 来在我的 react-native 应用程序中实现 Store
视图。
我正在从我的组件的 componentDidMount 循环步骤中完成的 API 调用中检索存储项目,然后将其存储在我的本地 state
中。
我在Flatlist 文档中找到了这句话:
当内容滚动出渲染窗口时,内部状态不会被保留。确保在项目数据或外部存储(如 Flux、Redux 或 Relay)中捕获所有数据。
我想知道这是什么意思。我只是在使用我当地的州,它似乎工作得很好。 这样做有什么问题吗?您能否提供有关此特定点的更多信息?
另外,如果您对我的用例有任何建议或优化,请随时添加。
感谢您的宝贵时间。
【问题讨论】:
【参考方案1】:假设您有一个 Contacts
组件,其中的 FlatList 为数据中的每个项目呈现 Contact
组件。我们还假设这些联系人是可选择的。如果您将这些选择值(例如selected: true
)存储在Contact
组件内部状态而不是Contacts
组件状态中,则当项目滚动出去时,它将被卸载并且该项目的状态将被重置。如果您将其保存在全局数据中,它将以最后一个状态创建。
希望我能解释一下。
【讨论】:
您能否提供一些说明如何将Contacts
或任何相关示例从内部状态移动到组件状态的文档?以上是关于React Native - FlatList - 内部状态的主要内容,如果未能解决你的问题,请参考以下文章
React Native - FlatList - 内部状态
在 React 中等效于来自 React Native 的 FlatList