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),然后当用户按下其中一个键名时,它将改变 PortraitImage 状态。
这就是我现在所拥有的,但我的 FlatList 似乎是空白的并且什么也没有显示。我不明白为什么列表是空白的。
当我设置 data = {this.props.list} 而不是 state 我得到
元素类型无效:需要一个字符串(对于内置组件)或>一个类/函数(对于复合组件),但得到:未定义。您 > 可能忘记从定义它的文件中导出您的组件。