简体   繁体   English

如何初始化我的反应本机状态?

[英]How to init my react-native state?

I'm wondering how to init my state in that case : Basicaly, I want to get data from AsyncStorage and write it to my screen as a list. 我想知道在这种情况下如何初始化状态:基本上,我想从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>
  )
}
}

Can someone explain me what I should write in my constructor to init my state ? 有人可以解释一下我应该在构造函数中编写什么来初始化我的状态吗?

Thank you ! 谢谢 !

You can set it to null in constructor and in redner have something like: 您可以在构造函数中将其设置为null,在redner中将其设置为:

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

Bonus: You can set initial state without writing constructor: 奖励:您可以在不编写构造函数的情况下设置初始状态:

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

    ...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM