如何初始化我的反应原生状态?

时间:2017-07-07 20:36:29

标签: javascript reactjs react-native

我想知道在这种情况下如何初始化我的状态: 基本上,我想从AsyncStorage获取数据并将其作为列表写入我的屏幕。

export class History_d extends Component {

constructor(props){
  super(props)
  this.state = {
    stores : ???????????
  }
}

componentDidMount() {
  AsyncStorage.getAllKeys((err, keys) => {
    AsyncStorage.multiGet(keys, (err, stores) => {
      this.setState({ stores });
    });
  });
}

render() {
  return (
    <View>
      {this.state.stores.length && this.state.stores.map(item =>
        <Text>{item[0]} {item[1]}</Text>)}
    </View>
  )
}
}

有人可以解释一下我应该在构造函数中编写什么来初始化我的状态吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在构造函数中将其设置为null,并且redner中的内容类似于:

if (!this.state.stores)
    return <Text>Loading...</Text>;

奖励:您可以在不编写构造函数的情况下设置初始状态:

export class History_d extends Component {
    state = {stores: null}

    ...