новичок в React Native, но у меня есть массив данных
list = [
{key: "image1", imgLink: "imagelink"},
{key: "image2", imgLink: "imagelink"},
{key: "image3", imgLink: "imagelink"},
{key: "image3", imgLink: "imagelink"},
]
который передается в props моему компоненту, а затем я помещаю его в состояние в моем конструкторе
constructor(props){
super(props)
this.state = {
portraitImage: 'initalImageLink',
isModalVisible: false,
list: this.props.list,
};
}
У меня также есть FlatList внутри модального окна:
<Modal isVisible={this.state.isModalVisible} onBackdropPress = {this._hideModal}>
<View style={{ flex: 1, backgroundColor:'#FFFFFF'}}>
<FlatList
data={this.state.list}
renderItem={
({item}) => <ListItem onPress = {this._setImg.bind(this,item.imgLink)} title={item.key} />
}
/>
<Button title = {'Close Modal'} onPress={this._hideModal}/>
</View>
</Modal>
_setImage(value){
this.setState({
portraitImage: value
});
};
Я пытаюсь просто показать список имен ключей (image1, image2, image3, image4), а затем, когда пользователь нажимает одно из имен клавиш, он изменяет состояние портретного изображения.
Это то, что у меня есть прямо сейчас, но мой FlatList кажется пустым и ничего не показывает. Я не понимаю, почему список пуст.
Когда я устанавливаю data = {this.props.list} вместо состояния, я получаю
Недопустимый тип элемента: ожидается строка (для встроенных компонентов) или> класс / функция (для составных компонентов), но получено: undefined. Вы, вероятно, забыли экспортировать свой компонент из файла, в котором он определен.