【问题标题】:only first array element is rendering in react js只有第一个数组元素在反应 js 中呈现
【发布时间】:2022-01-23 09:11:33
【问题描述】:

我有一个数组,但只有第一个数组元素正在渲染。如何执行此操作。这是 Firebase 的回应。在控制台中它很好,但在 jsx 中只有第一个元素正在渲染。 这是我的代码

let users=[
           {
            email: "rabina@gmail.com",
            id: "jqGZhhXDa8xI4iMtYO0U",
            joined_at: Fri Dec 03 2021 03:44:44 GMT+0545 (Nepal Time),
             name: "Rabina chandak",
            profile: "https://picsum.photos/200/300/?blur=2"
        },
         {
        id: 'LVEy69S3VIZXdztSKTyG',
         name: 'Jeevan',
         email: 'jeevan@gmail.com',
         joined_at: Fri Nov 12 2021 11:33:33 GMT+0545 (Nepal Time), 
        profile: 'https://picsum.photos/200/300/?blur=5'
        }
        ]



  users.map((user)=>{
    console.log(user.id)
    })



 const User=()=>{
   return(        
     div className="flex">
    <div className="bg-gray-100  w-full p-4 justify-between">
    <div className="lg:mx-16 mx-8">
    <div className="grid lg:grid-cols-5 md:grid-cols-3 sm:grid-cols-1 gap-4">
    {

        {users.forEach((user)=>{
            return <UserCard key={user.id} name={user.name} email={user.email} id={user.id} profile={user.profile} session={session}/>
        })}
    }
    </div>
    </div>
    </div>
    </div>
     )
    }

【问题讨论】:

标签: javascript reactjs


【解决方案1】:

试试这个代码:

               <div>
                {users.map((user) => (
                  <h2>{user.name}</h2>
                ))}
              </div>

而不是这个,它会完美地工作:

 const User = () => {
    return users.map(user => {
        return (
            <p>
                {user.id}
            </p>
        );
    });
};

【讨论】:

  • 不工作,我在我的真实代码中以同样的方式完成......
  • 如果您能解释问题出在哪里以及为什么您的新代码可以修复它,那就太好了。这将使它对操作更有帮助。
  • 只有第一个数组元素在渲染,其他的没有
  • 返回一个节点数组是有效的 React,不需要用 &lt;div&gt; 包裹整个东西。
  • 第一个整个元素正在渲染,然后只有第一个元素正在渲染,其他不渲染...
猜你喜欢
  • 2018-03-14
  • 1970-01-01
  • 1970-01-01
  • 2019-03-08
  • 1970-01-01
  • 1970-01-01
  • 2020-04-07
  • 2017-03-13
  • 1970-01-01
相关资源
最近更新 更多