javascript - 循环遍历多个项目并渲染每个项目

标签 javascript reactjs

我在用 React 循环遍历事物以连续多次渲染组件时遇到问题。这是我所拥有的,但它不起作用。一些关于我做错了什么的指示以及更好的方法将不胜感激,谢谢!

const users = [
    {
        "firstName": "John",
        "lastName": "Doe"
    }, {
        "firstName": "Anna",
        "lastName": "Smith"
    }, {
        "firstName": "Peter",
        "lastName": "Jones"
    }
];

function Welcome(props) {
  return <h1>Hello, {props.firstName} {props.lastName}</h1>;
}

function allUsers(){
    return (
        <div>
            {for(var i=0; i<users.length; i++){
                <Welcome firstName={users[i].firstName} lastName={users[i].lastName}/>
            }}
        </div>
    )
}

ReactDOM.render(
  allUsers(),
  document.getElementById('root')
);

最佳答案

尝试使用.map而不是 for 循环。它通常在 React 中更容易使用:

const users = [
    {
        "firstName": "John",
        "lastName": "Doe"
    }, {
        "firstName": "Anna",
        "lastName": "Smith"
    }, {
        "firstName": "Peter",
        "lastName": "Jones"
    }
];

function Welcome(props) {
  return <h1>Hello, {props.firstName} {props.lastName}</h1>;
}

function allUsers(){
    return (
        <div>
            {users.map(function(user) {
                return <Welcome key={user.firstName} firstName={user.firstName} lastName={user.lastName}/>
            })}
        </div>
    )
}

ReactDOM.render(
  allUsers(),
  document.getElementById('View')
);
<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="View"></div>

关于javascript - 循环遍历多个项目并渲染每个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41081492/

相关文章:

javascript - 如何为此自定义滚动添加下一个和上一个按钮?

javascript - Strongloop 应用程序不加载本地数据源

reactjs - 如何理解react中的事件处理程序行为?

php - 使用 jquery 的 .error() 进行多次 PHP 数据库更新

javascript - 删除标点符号并将其放置在字符串的末尾

javascript - 将数组填充为空

reactjs - 命令 `brew install watchman` 运行 `chmod` 但最终安装失败

javascript - React - 错误 : App(. ..) : Nothing was returned from render. 这通常意味着缺少 return 语句。或者,不渲染任何内容,返回 null

reactjs - 如何查找不同元素的 getByRole 可用的属性?

reactjs - 如何将推送通知从 django 发送到 React Native 应用程序?