Отображение массива состояний в React Native - PullRequest
0 голосов
/ 26 декабря 2018

enter image description here Я пытаюсь отобразить массив, который был сохранен в состоянии.Массив имел данные из базы данных.Я сделал console.log, чтобы увидеть, что содержит состояние, и оно имеет значения, но просто не отображает его.

render() {
    let test = this.state.subjects.map(sub => {
      return (
        <View>
          <Text style={{ textAlign: "center" }}>{sub}</Text>
        </View>
      );
    });
    return <ScrollView style={{ marginTop: 30 }}>{test}</ScrollView>;
  }
}

Ответы [ 4 ]

0 голосов
/ 26 декабря 2018

Я отправлял данные прямо в переменную состояния.Но согласно действующим документам, вы никогда не должны делать это и использовать метод this.state.setState.

0 голосов
/ 26 декабря 2018

Вы можете использовать React-Native FlatList для отображения значений массива.

См. Документы: https://facebook.github.io/react-native/docs/flatlist

0 голосов
/ 26 декабря 2018

Проверьте ниже код:

renderSub() {
    return this.state.sub.map((value, index) => {
        return (
            <Text style={{ textAlign: "center" }}>{sub}</Text>
        )
    })
}
render() {
    return (
        <View>
            {this.renderSub()}
        </View>
    );
}
0 голосов
/ 26 декабря 2018

Таким образом, когда вы получаете Object из базы данных огня, вы должны преобразовать его в typeof Array, чтобы отобразить его, чтобы вы могли сделать что-то вроде

Object.values(this.state.subjects).map(...) 
...