reactjs - .map 渲染空列表(只是要点)
问题描述
希望有人可以帮助我解决我遇到的这个问题。基本上,我正在创建一个预算应用程序。您输入您的预算、项目名称和成本并提交。然后它将在应用程序底部打印(不同的组件),我将对剩余预算等进行一些计算。
我目前坚持将值从我的有状态组件传递到我的功能组件。我已经成功地通过道具传递数据并遍历它们。但是,它不是以 li 格式输出我需要的数据,而是仅输出 li 要点。如果我将返回的输出更改为文本,它会以 li 格式呈现文本(console.log 也可以),但由于某种原因,如果我试图输出它不会的道具。
任何帮助表示赞赏。
class FormInput extends Component {
constructor(props) {
super(props);
this.state = { budget: 0, items: [] };
}
handleSubmit = (event) => {
event.preventDefault();
const item = [
{ name: event.target.itemName.value, price: event.target.itemCost.value },
];
const budget = { budget: event.target.budget.value };
this.setState({ budget, items: [...this.state.items, ...item] });
};
const Cost = (props) => {
const test = props.item.map((ite, index) => (
<li key={index}> {ite.item} </li>
));
return (
<div>
<Container
style={{
alignitems: "center",
textAlign: "left",
fontWeight: "bold",
color: "black",
}}
>
<Card>
<Card.Body>
{" "}
<ul> {test} </ul>{" "}
</Card.Body>
</Card>
</Container>
</div>
);
};
解决方案
使用该map
函数时,会直接返回您的 item 对象,无需添加.item
:
const test = props.item.map((item, index) => (
<li key={index}> {item.name} - {item.price} </li>
));
您的数组对象没有item
属性。
推荐阅读
- javascript - JavaScript:如何使用 switch 语句显示时间?
- c++ - 有没有办法在 C++ 中为 TAB 字符(反斜杠 t)“\t”设置特定数量的最大空格?
- maven - 如何将服务器上包含的库包含到 pom 中?
- assembly - 如何更改 PWM AVR 的占空比(组装 - 无 C)
- python - ngrok 在某些特定情况下不起作用
- javascript - “autocomplete=off”属性不起作用有什么解决方案吗?
- oracle - 如何使用 oracle 表单生成器更改数据块中行的属性类?
- r - 许多基于其他列的计算列
- validation - Rails 5:仅当该 id 没有填充的特定字段时才插入/更新
- php - 如何创建短代码以使用其帖子 ID 显示特定推荐?