我想知道是否可以为每个元素渲染调用API。下面的代码不适合我。
export default function App() {
const items = [
{ title: 1, description: "description1" },
{ title: 2, description: "description2" }
];
const finalTitleByApi = async (title) => {
const response = await fetch(
`https://jsonplaceholder.typicode.com/todos/${title}`
).then((response) => response.json());
return response;
};
return (
<div>
{items.map((item) => {
return (
<p>
{finalTitleByApi(item.title).title}
</p>
);
})}
</div>
);
}
字符串
上面的代码有什么问题?任何帮助都将不胜感激。
这是示例codesandbox链接https://codesandbox.io/s/for-each-rendered-element-that-calls-api-pmcnn6?file=/src/App.js:879-886
3条答案
按热度按时间irtuqstp1#
尝试使用react-reactive库,
hope will be helpful
react-asyncidfiyjo82#
要触发这个函数,可以在组件的初始呈现过程中使用
useEffect
来调用它,如下所示。另外,你也可以使用一个状态来管理它。字符串
gxwragnw3#
我认为一个解决办法是
字符串
不重新呈现组件状态时使用的上下文提供程序沙箱的链接为Sandbox