Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.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
React native 如何在react native中持久化存储值?_React Native_Redux_Redux Persist - Fatal编程技术网

React native 如何在react native中持久化存储值?

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:[{...

在我的应用程序中,主页从我的rest API获取Json响应。然后我将产品添加到购物车数组中。最初,我的存储值是

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不支持脱机存储和自动同步!请参阅