javascript - 如何正确映射项目
问题描述
我正在尝试进行 API 调用,然后显示来自 API 调用的信息。由于某种原因,即使存储了数据,它也不会显示在页面上。
在 APP.js 中,我的{results.length != 0 && <Recipe items={results} />}
结果是一个充满配方信息的数组。然后我进行 API 调用并使用 setResults 将结果存储在结果状态变量中。这是我的食谱组件的代码
import Nutrients from "./Nutrients";
const Recipe = ({ items }) => {
return (
<div>
Items should be mapped
{items &&
items.map((item) => {
const { id, title, image, nutrition } = item;
console.log("id " + id);
const { nutrients } = nutrition;
console.log(nutrients);
<p>map</p>;
})}
</div>
);
};
export default Recipe;
我的配方组件显示“项目应该被映射”,但它不显示项目的映射。知道为什么吗?
解决方案
使用时map()
,必须返回一个值:
{items &&
items.map((item, index) => {
const { id, title, image, nutrition } = item;
console.log("id " + id);
const { nutrients } = nutrition;
console.log(nutrients);
return <p key={index}>map</p>; // <---- HERE
})
}
进行此更改后,它对我有用
推荐阅读
- python - 用系列更新 pandas DataFrame 多级索引?
- visual-studio-code - VSCode:/usr/bin/node:错误选项:--inspect 自上次升级以来?
- scala - Kafka Streams DSL:如何关闭由流分支/分组创建的子流?
- javascript - 从复杂字符串中提取文本
- javascript - 协助存根类内的函数
- c# - 尝试激活 SecurityStampValidator 时无法解析 ISystemClock 的服务
- pg-promise - 跳过未在源中传递的更新列
- c++ - 为什么在我的值迭代算法中变量赋值要花费这么多时间?
- sql - Hibernate Generator 是如何模拟分叉外键的?
- intellij-idea - 如何使用 IntelliJ/DataGrip 调用带有 OUT 参数的 DB2 存储过程?