gpt4 book ai didi

javascript - 返回 map 内的嵌套 View

转载 作者:行者123 更新时间:2023-11-29 17:46:25 24 4
gpt4 key购买 nike

你好,这是我的父组件代码

renderMenu() {
if (this.props.menu) {
return (
<List menu={this.props.menu} />
);
}
}
render() {
console.log(this.props);
const { ContainerStyle } = styles;
return (
<View style={ContainerStyle}>
{this.renderRestaurantName()}
<ScrollView>
{this.renderSpinner()}
{this.renderMenu()}
</ScrollView>
</View>
);
}

在列表中我返回一个嵌套在 map 中的 View 列表.js =>

renderItem() {
return (
this.props.menu.map(({ name, items }) => {
<View>
<Text>{name}</Text>
</View>
{
items.map((resp) => {
return (
<View>
<Text>{resp.title}</Text>
</View>
);
});
}
})
);
}
render() {
return (
<View>
{this.renderItem()}
</View>
);
}
}

即使我可以使用 console.log 查看内容,屏幕上也没有任何显示。我在这里做错了什么?我还应该使用其他东西来解析 JSON 吗?

这也是JSON数据 JSON Data

我是否正确解析了它?

最佳答案

显示列表最好的方式是使用FlatList Read docs

你可以这样使用它:

render(){
return(
<FlatList
data={this.props.menu}
renderItem={({item})=>this._renderListMenu(item)}
keyExtractor={(item,index)=>index}
/>
)
}

_renderListMenu(item){
return <MyMenu Menu={item} />
}

在其他类(MyMenu)中:

export default class MyMenu extends Component{
render(){
const {name , items } = this.props.Menu;
return(
<View>
<Text>{name}</Text>
<FlatList
data={items}
renderItem={({item})=>this._renderListItem(item)}
keyExtractor={(item,index)=>index}
/>
</View>
)
}
_renderListItem(item){
return <MyItem item={item}/>
}
}

然后像上面的例子一样创建 MyItem 类

关于javascript - 返回 map 内的嵌套 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49103030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com