React native 如何在react native中持久化存储值?
在我的应用程序中,主页从我的rest API获取Json响应。然后我将产品添加到购物车数组中。最初,我的存储值是React native 如何在react native中持久化存储值?,react-native,redux,redux-persist,React Native,Redux,Redux Persist,在我的应用程序中,主页从我的rest API获取Json响应。然后我将产品添加到购物车数组中。最初,我的存储值是 const DEFAULT_STATE_TRENDING = { data:{}, specialoffdata:[], banner:[], offerstitle:[], cart:[], cartcount:0, isFetching:false, dataFetched:false, error:false, } 添加产品后,购物车阵列和购物车计数变为 cart:[{...
const DEFAULT_STATE_TRENDING = {
data:{},
specialoffdata:[],
banner:[],
offerstitle:[],
cart:[],
cartcount:0,
isFetching:false,
dataFetched:false,
error:false,
}
添加产品后,购物车阵列和购物车计数变为
cart:[{...},{...}],
cartcount:cart.length
现在,我关闭我的应用程序。重新加载应用程序后,购物车数组变为空。如何在此处保存存储值?保存存储值的最佳方法是使用此很棒的库 它包含各种
方法
和持久性
的级别
,并且易于使用
安装
和基本用法
都有详细的文档记录。保存存储值的最佳方法是使用这个很棒的库
它包含各种方法
和持久性
的级别
,并且易于使用
安装
和基本用法
都有详细的说明。最简单的方法是使用异步存储
let response = await AsyncStorage.getItem('count'); //Read
AsyncStorage.setItem('count', this.state.count + '');
这样,您就可以访问每个组件中的“计数”
最现代的方法是使用react的新上下文api,定义上下文提供程序并在任何地方使用它:
const ThemeContext = React.createContext('light')
class ThemeProvider extends React.Component {
state = {theme: 'light'}
render() {
return (
<ThemeContext.Provider value={this.state.theme}> //<--- 'light' is exposed here
{this.props.children}
</ThemeContext.Provider>
)
}
}
class App extends React.Component {
render() {
return (
<ThemeProvider>
<ThemeContext.Consumer>
{item => <div>{item}</div>} //<-- you consume the value ('light') here
</ThemeContext.Consumer>
</ThemeProvider>
)
}
}
const ThemeContext=React.createContext('light')
类ThemeProvider扩展React.Component{
状态={theme:'light'}
render(){
返回(
//{item}//最简单的方法是使用异步存储
let response = await AsyncStorage.getItem('count'); //Read
AsyncStorage.setItem('count', this.state.count + '');
这样,您就可以访问每个组件中的“计数”
最现代的方法是使用react的新上下文api,定义上下文提供程序并在任何地方使用它:
const ThemeContext = React.createContext('light')
class ThemeProvider extends React.Component {
state = {theme: 'light'}
render() {
return (
<ThemeContext.Provider value={this.state.theme}> //<--- 'light' is exposed here
{this.props.children}
</ThemeContext.Provider>
)
}
}
class App extends React.Component {
render() {
return (
<ThemeProvider>
<ThemeContext.Consumer>
{item => <div>{item}</div>} //<-- you consume the value ('light') here
</ThemeContext.Consumer>
</ThemeProvider>
)
}
}
const ThemeContext=React.createContext('light')
类ThemeProvider扩展React.Component{
状态={theme:'light'}
render(){
返回(
//{item}}/我使用了AsyncStorage。通过这种方式,即使在重新加载、关闭和打开应用程序之后,我仍然保留了我的存储状态值
configureStore.js:
App.js:
const store=configureStore();
导出默认类应用程序扩展组件{
componentDidMount(){
log(“App.js已启动,其存储值为“+store”);调试器
SplashScreen.hide()
持久存储(
百货商店
{
存储:异步存储,
白名单:[“趋势”]
}
);
}
render(){
返回(
);
}
}
我使用了AsyncStorage。通过这种方式,即使在重新加载、关闭和打开应用程序之后,我仍然保留了我的存储状态值
configureStore.js:
App.js:
const store=configureStore();
导出默认类应用程序扩展组件{
componentDidMount(){
log(“App.js已启动,其存储值为“+store”);调试器
SplashScreen.hide()
持久存储(
百货商店
{
存储:异步存储,
白名单:[“趋势”]
}
);
}
render(){
返回(
);
}
}
尝试使用AsyncStorage。尝试使用AsyncStorage。谢谢..您能告诉我如何获取AsyncStorage的当前状态值吗..例如,对于调度AsyncStorage的每个操作,其状态都会发生更改。let response=wait AsyncStorage.getItem('count');//ReadI只使用了这一行。它为我产生了内部错误。。请看下面我的回答,我以前将还原程序状态存储到AsyncStorage中。现在我想查看当前值。您知道任何可附加到新react上下文的库,并保留和更新它以供脱机使用吗?例如,如果需要,请从磁盘重新加载对话历史记录有。@VahidAlimohamadi firestore确实支持脱机存储和自动同步!请参见谢谢。.您能告诉我如何获取我的异步存储的当前状态值吗。.例如,对于调度异步存储的每个操作,异步存储的状态都会发生更改。让response=wait AsyncStorage.getItem('count');//ReadI只使用了这一行。它为我产生了内部错误。。请看下面我的回答,我以前将还原程序状态存储到AsyncStorage中。现在我想查看当前值。您知道任何可附加到新react上下文的库,并保留和更新它以供脱机使用吗?例如,如果需要,请从磁盘重新加载对话历史记录有。@VahidAlimohamadi firestore不支持脱机存储和自动同步!请参阅