table 中未显示值
Value not showing in the table
我正在尝试通过遍历它来使用 props 中接收到的数据来填充 table。但是数据没有在 UI 中呈现 :(,如果我手动放置它显示的任何数据。以下是我的代码
要填充的代码
{props.uiProductCart.forEach((data) => {
<tr data-index={data.srno}>
<td>{data.srno}</td>
<td>{data.name}</td>
<td>{data.price}</td>
<td>{data.quantity}</td>
<td>{data.total}</td>
<td>
<BtnDelete title="Remove" />
</td>
</tr>;
})}
没有完整的代码示例,很难确定我的回答是否完整。
但是,作为开始,我认为第一行中的 forEach
应该是 map
。
forEach
The forEach()
method executes a provided function once for each array element.
来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
map
The map()
method creates a new array populated with the results of calling a provided function on every element in the calling array.
来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
换句话说,forEach
函数不会 return 任何由 React 渲染的东西。它只是循环遍历一个集合,构建您的模板,然后丢弃它。
map
函数将 return 构建的模板做出反应,进行渲染。
这也是 demonstrated/documented 官方 React 文档中的此处:
https://reactjs.org/docs/lists-and-keys.html
例子
我设置了一个code sandbox作为示例。
注意:括号!
确保在用 map
替换 forEach
时使用正确的括号。
以下两个都可以工作,因为 map 函数没有 returning 任何东西:
{props.uiProductCart.map((data) => {
return (
<tr data-index={data.srno}>
...
</tr>
);
})}
{props.uiProductCart.map((data) => (
<tr data-index={data.srno}>
...
</tr>
))}
但这不会工作:
{props.uiProductCart.map((data) => {
<tr data-index={data.srno}>
...
</tr>
})}
我正在尝试通过遍历它来使用 props 中接收到的数据来填充 table。但是数据没有在 UI 中呈现 :(,如果我手动放置它显示的任何数据。以下是我的代码
要填充的代码
{props.uiProductCart.forEach((data) => {
<tr data-index={data.srno}>
<td>{data.srno}</td>
<td>{data.name}</td>
<td>{data.price}</td>
<td>{data.quantity}</td>
<td>{data.total}</td>
<td>
<BtnDelete title="Remove" />
</td>
</tr>;
})}
没有完整的代码示例,很难确定我的回答是否完整。
但是,作为开始,我认为第一行中的 forEach
应该是 map
。
forEach
The
forEach()
method executes a provided function once for each array element.
来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
map
The
map()
method creates a new array populated with the results of calling a provided function on every element in the calling array.
来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
换句话说,forEach
函数不会 return 任何由 React 渲染的东西。它只是循环遍历一个集合,构建您的模板,然后丢弃它。
map
函数将 return 构建的模板做出反应,进行渲染。
这也是 demonstrated/documented 官方 React 文档中的此处:
https://reactjs.org/docs/lists-and-keys.html
例子
我设置了一个code sandbox作为示例。
注意:括号!
确保在用 map
替换 forEach
时使用正确的括号。
以下两个都可以工作,因为 map 函数没有 returning 任何东西:
{props.uiProductCart.map((data) => {
return (
<tr data-index={data.srno}>
...
</tr>
);
})}
{props.uiProductCart.map((data) => (
<tr data-index={data.srno}>
...
</tr>
))}
但这不会工作:
{props.uiProductCart.map((data) => {
<tr data-index={data.srno}>
...
</tr>
})}