javascript - React - 迭代数组中的键值对

标签 javascript arrays reactjs

我无法让此代码段输出tacos

我不确定我做错了什么

    let tacos = [{ John: "Guacamole" }, { Sally: "Beef" }, { Greg: "Bean" }];

class Parent extends React.Component {

  render() {
    return (
      <div className="parent-component">
        <h3>List of tacos:</h3>
        <TacosList tacos={tacos} />
      </div>
    );
  }
}

class TacosList extends React.Component {
  render() {
    return (
      <div className="tacos-list">
        {this.props.tacos.map((taco) => {
          return 

          <Parent taco={taco}/>

        })}
      </div>
    );
  }
}

render(<Parent />, document.getElementById("root"));

最佳答案

您的问题是您在 return 之后插入新行。 它返回 undefined 同时迭代tacos列表。

此外,如果调用 <Parent />,您将创建无限循环渲染。 <TacosList />

您可以创建一个新组件来渲染项目,也可以在 <TacosList /> 中执行此操作。 组件

let tacos = [{
  person: "John",
  ingredient: 'Guacamole'
 }, {
  person: 'Sally',
  ingredient: 'Beef'
 }, {
  person: 'Greg',
  ingredient: 'Bean'
 }];

class Parent extends React.Component {

  render() {
    return (
      <div className="parent-component">
        <h3>List of tacos:</h3>
        <TacosList tacos={tacos} />
      </div>
    );
  }
}

class TacosList extends React.Component {
  render() {
    return (
      <div className="tacos-list">
        {this.props.tacos.map((taco, index) => (
        	<p key={index}>{taco.person}: {taco.ingredient}</p>
        ))}
      </div>
    );
  }
}

ReactDOM.render(<Parent />, document.getElementById("root"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

<div id="root">
</div>

关于javascript - React - 迭代数组中的键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46637323/

相关文章:

javascript - javascript split() 之后为子字符串赋予颜色

javascript - 使用javascript检测用户浏览器

javascript - 根据表格第一行第一列的数据创建表格

javascript - React 中的encodeURIComponent

reactjs - 转义 "import"和 react/html 以在 MDX 中显示为文本?

c# - 如何在 gridView 中显示某行的上下文菜单

javascript - 无法调用未定义的方法 'apply' 为 jquery 谷歌地图插件设置方向

java - 需要从文件创建对象并将其放入数组中

安卓 : Array in a php POST

javascript - React + Typescript 高阶函数 "not assignable to type"错误