[英]React component does not load inside map loop
我正在構建一個反應應用程序並陷入了這個問題,即我的組件在循環的情況下無法加載。 下面是我的 StoriesContainer.js 和 Story.js 代碼。 您會注意到我兩次調用 Story 組件,第一次調用在循環之外並且完美呈現。 但是,我的第二個電話是在 map 循環內,這似乎不起作用。 我很困惑我可能做錯了什么,因為我試圖在網上查找它,這是正確的方法。
如果有人可以提供幫助,那就太好了。 我現在得到的結果圖像。
import React, { useState, useEffect } from "react";
import { getStoryID } from "../services/api";
import { Story } from "./Story";
export const StoriesContainer = () => {
const [data, setData] = useState([]);
useEffect(() => {
getStoryID().then((data) => {
console.log(data);
setData(data);
});
}, []);
return (
<>
<Story id={95666} />
<h1>App.js</h1>
<ul>
{data.map((id) => {
// eslint-disable-next-line no-lone-blocks
{
console.log(id);
}
<Story key={id} id={id} />;
})}
</ul>
</>
);
};
export const Story = ({ id }) => {
return <h1>This is story {id}</h1>;
};
您不會從 map 回調中返回。
<ul>
{data.map((id) => {
// eslint-disable-next-line no-lone-blocks
{
console.log(id);
}
return <Story key={id} id={id} />;
})}
</ul>
或者干脆
<ul>
{data.map((id) => <Story key={id} id={id} />}
</ul>
兩者都可以,我更喜歡第二個。
在 map 中的<Story>
之前使用return
關鍵字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.