react-native – React Native AsyncStorage在渲染后提取数据

前端之家收集整理的这篇文章主要介绍了react-native – React Native AsyncStorage在渲染后提取数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在ComponentWillMount中使用AsyncStorage来获取本地存储的accessToken,但是它在render()函数运行后返回promise.如何使render()等待,直到承诺完成?谢谢.
你不能让渲染等待我所知道的.在我正在开发的应用程序中做了什么是添加一个加载屏幕,直到AsyncStorage解决的承诺.见下面的例子:
var react = require('react-native');

var = {
  AsyncStorage,View,Text
} = React;

var component = React.createClass({

  getInitialState() {
    return {
      isLoading: true
    };
  },componentWillMount() {
    AsyncStorage.getItem('accessToken').then((token) => {
      this.setState({
        isLoading: false
      });
    });
  },render() {
    if (this.state.isLoading) {
      return <View><Text>Loading...</Text></View>;
    }
    // this is the content you want to show after the promise has resolved
    return <View/>;
  }

});

在状态对象上设置isLoading属性将导致重新渲染,然后可以显示依赖于accessToken的内容.

在旁注中,我写了一个名为react-native-simple-store的库,简化了AsyncStorage中的数据管理.希望你觉得它有用.

猜你在找的React相关文章