Javascript 如何将API响应存储在内存中,这样我就不必在每次加载组件时都进行http调用
我只想在从API获取数据时填充一次数组,并在应用程序生命周期的剩余时间内填充一次数组,除非用户从前台和后台退出应用程序Javascript 如何将API响应存储在内存中,这样我就不必在每次加载组件时都进行http调用,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我只想在从API获取数据时填充一次数组,并在应用程序生命周期的剩余时间内填充一次数组,除非用户从前台和后台退出应用程序 目前我有一个组件: 我希望分类:[]不要在每次我从一个屏幕转到另一个屏幕时都填充分类,我是否可以将分类保存在某个位置,这样我就不必总是提取分类,因为API中的数据不会经常更改 考虑将redux与以下库一起使用: 通过这种方式,您可以从本地存储重新水合状态 编辑:或者,您可以尝试从构造函数上的本地存储中的数据启动状态,如果无法启动,则可以在componentDidMountl
目前我有一个组件:
我希望分类:
[]
不要在每次我从一个屏幕转到另一个屏幕时都填充分类,我是否可以将分类保存在某个位置,这样我就不必总是提取分类,因为API中的数据不会经常更改 考虑将redux与以下库一起使用:
通过这种方式,您可以从本地存储重新水合状态
编辑:或者,您可以尝试从构造函数上的本地存储中的数据启动状态,如果无法启动,则可以在componentDidMountlocalStorage.setItem('myCat',Tom')中获取数据
下一页
var cat=localStorage.getItem(“myCat”)
如果您想使用开箱即用的解决方案,您可以使用
异步存储
设置项目
try {
await AsyncStorage.setItem('@MySuperStore:key', 'I like to save it.');
} catch (error) {
// Error saving data
}
try {
const value = await AsyncStorage.getItem('@MySuperStore:key');
if (value !== null){
// We have data!!
console.log(value);
}
} catch (error) {
// Error retrieving data
}
获取项目
try {
await AsyncStorage.setItem('@MySuperStore:key', 'I like to save it.');
} catch (error) {
// Error saving data
}
try {
const value = await AsyncStorage.getItem('@MySuperStore:key');
if (value !== null){
// We have data!!
console.log(value);
}
} catch (error) {
// Error retrieving data
}
为什么不将其存储在父组件中并向下传递?在只运行一次的componentDidMount
中运行。根据您的需要,将其传递给孩子们(这毕竟是react的主要概念之一)@Colin您能举一些例子吗?您希望它在组件装载之间保持持久性。以上选项不起作用。