gpt4 book ai didi

reactjs - 带有 fetch api 的 React hook

转载 作者:行者123 更新时间:2023-12-03 14:17:52 25 4
gpt4 key购买 nike

我想发出一个非常简单的 Fetch 请求(或 axios 请求),然后映射这些结果。

为此,我使用了 useState 和 useEffect,但我肯定做错了什么。

 function App() {
const [todos, setTodos] = useState({});

const getTodos = () => {
const urlTodos = "https://jsonplaceholder.typicode.com/todos/";
return fetch(urlTodos)
.then(res => res.json())
.then(res => {
return res
});
};

useEffect(() => {
getTodos().then(setTodos);
}, []);

const [todosSimple, setTodosSimple] = ([
{
text: 'learn about react',
isCompleted :true
},
{
text: 'Danse',
isCompleted: false
}
])

console.log(todosSimple)


return (
<div className="App">
{todosSimple.map((todo,index) => {
return todo;
}
)}

</div>
);
}

Codesandbox

最佳答案

首先你需要更改这一行

const [todos, setTodos] = useState({});

const [todos, setTodos] = useState([]);

因为 todos 变量将有一个默认值,并且它将是一个空对象。并且对象上没有 .map 方法,并且您从 api 收到一个数组。

其次,我建议在最后的 getTodos 中使用 setTodos 函数。

.then(res => setTodos(res))

然后您可以在返回中映射您的todos

here's and example

关于reactjs - 带有 fetch api 的 React hook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55128193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com