最近,我很难使用useState
钩子来更新React应用程序中的状态。
如果我将提供程序中的状态定义为-
const [session, setSession] = useState({});
然后尝试使用setSession
进行设置
setSession(response.data);
它总是返回为undefined
。这一切都发生在提供程序组件内部-即,我试图访问同一提供程序中其他函数中的信息。
但是,例如,如果我将数据存储在localStorage中,则访问它没有任何问题。
在这里我有误会吗?
谢谢
例如:-
import React, { useState, useEffect } from "react";
import axios from "axios";
function App() {
const [data, setData] = useState([]);
useEffect(() => {
const fetchData = async () => {
const result = await axios("https://jsonplaceholder.typicode.com/posts");
console.log(result.data);
setData(result.data);
};
fetchData();
}, []);
return (
<ul>
{data.map(res => (
<li>{res.title}</li>
))}
</ul>
);
}
export default App;
检查您的response.data
类型并定义类型数组-[]对象-{}字符串-“”数字-useState
中的0]