React JS 在状态数组中映射一个数组
React JS mapping an array inside a state array
基本上我遇到了这个问题。我对 React JS 比较陌生。我已经创建了一个状态并且我已经成功地映射了它,除了一件事。下面是状态:
const [currProject, setCurrProject] = useState([{
id: 4,
title: "Title",
desc: "Description",
arr: ["these", "are", "array", "elements"]}]);
那么,就像我说的,我这样映射:
currProject.map(item =>(
<div>
<h1>{item.title}</h1>
<p>{item.desc}</p>
<div>
<p>{item.arr}</p>
</div>
</div>
))
所以基本上 p 标签所在的位置,我想将数组中处于 currProject 状态的元素放在单独的 p 标签中。所以它看起来像这样:
<p>these</p>
<p>are</p>
<p>array</p>
<p>elements</p>
但显然我不想硬编码。因为该数组中可能包含更多或更少的元素。基本上我要问的是如何映射已经在状态数组中的数组?
您可以像映射之前的数组一样对其进行映射。
currProject.map((item, i) =>(
<div key={i}>
<h1>{item.title}</h1>
<p>{item.desc}</p>
<div>
{item.arr.map((item, i) => (
<p key={i}>{item}</p>
))}
</div>
</div>
))
您需要使用更多 map
来渲染 item.arr。
{currProject.map((item) => (
<div key={item.id}>
<h1>{item.title}</h1>
<p>{item.desc}</p>
<div>
{item.arr.map((item2, index) => (
<p key={index}>{item2}</p>
))}
</div>
</div>
))}
注意: 你需要在map
里面的拳头标签里加一个key
基本上我遇到了这个问题。我对 React JS 比较陌生。我已经创建了一个状态并且我已经成功地映射了它,除了一件事。下面是状态:
const [currProject, setCurrProject] = useState([{
id: 4,
title: "Title",
desc: "Description",
arr: ["these", "are", "array", "elements"]}]);
那么,就像我说的,我这样映射:
currProject.map(item =>(
<div>
<h1>{item.title}</h1>
<p>{item.desc}</p>
<div>
<p>{item.arr}</p>
</div>
</div>
))
所以基本上 p 标签所在的位置,我想将数组中处于 currProject 状态的元素放在单独的 p 标签中。所以它看起来像这样:
<p>these</p>
<p>are</p>
<p>array</p>
<p>elements</p>
但显然我不想硬编码。因为该数组中可能包含更多或更少的元素。基本上我要问的是如何映射已经在状态数组中的数组?
您可以像映射之前的数组一样对其进行映射。
currProject.map((item, i) =>(
<div key={i}>
<h1>{item.title}</h1>
<p>{item.desc}</p>
<div>
{item.arr.map((item, i) => (
<p key={i}>{item}</p>
))}
</div>
</div>
))
您需要使用更多 map
来渲染 item.arr。
{currProject.map((item) => (
<div key={item.id}>
<h1>{item.title}</h1>
<p>{item.desc}</p>
<div>
{item.arr.map((item2, index) => (
<p key={index}>{item2}</p>
))}
</div>
</div>
))}
注意: 你需要在map
key