Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将API响应存储在内存中,这样我就不必在每次加载组件时都进行http调用_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 如何将API响应存储在内存中,这样我就不必在每次加载组件时都进行http调用

Javascript 如何将API响应存储在内存中,这样我就不必在每次加载组件时都进行http调用,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我只想在从API获取数据时填充一次数组,并在应用程序生命周期的剩余时间内填充一次数组,除非用户从前台和后台退出应用程序 目前我有一个组件: 我希望分类:[]不要在每次我从一个屏幕转到另一个屏幕时都填充分类,我是否可以将分类保存在某个位置,这样我就不必总是提取分类,因为API中的数据不会经常更改 考虑将redux与以下库一起使用: 通过这种方式,您可以从本地存储重新水合状态 编辑:或者,您可以尝试从构造函数上的本地存储中的数据启动状态,如果无法启动,则可以在componentDidMountl

我只想在从API获取数据时填充一次数组,并在应用程序生命周期的剩余时间内填充一次数组,除非用户从前台和后台退出应用程序


目前我有一个组件:


我希望分类:
[]
不要在每次我从一个屏幕转到另一个屏幕时都填充分类,我是否可以将分类保存在某个位置,这样我就不必总是提取分类,因为API中的数据不会经常更改

考虑将redux与以下库一起使用:

通过这种方式,您可以从本地存储重新水合状态

编辑:或者,您可以尝试从
构造函数上的本地存储中的数据启动状态,如果无法启动,则可以在
componentDidMount

localStorage.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您能举一些例子吗?您希望它在组件装载之间保持持久性。以上选项不起作用。