javascript - 返回 map 内的嵌套 View

标签 javascript json reactjs react-native lodash

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

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 List.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/

相关文章:

ruby-on-rails-4 - Uncaught Error : Cannot find module "react"

Javascript 键码冲突 : "right arrow" and "single quote"

mysql - 在 mySQL/Mongo 或 Postgres 中存储 JSON 元数据

JavaScript 和脚本加载

java - 将一些 JSON 文件加载到 Spring Boot 应用程序中的最佳方式

javascript - 如何使用 ngFor 遍历 JSON 嵌套对象

reactjs - Jest/Enzyme - 生命周期方法中的模拟异步函数

javascript - Es6 React 组件引用

javascript - 如何将 html 附加到所选元素后第一次出现的字符串

javascript - 网页上的注释