[英]Cant set state using UseEffect in React.FC
我有一個正在進行API調用的反應功能組件。 在撥打電話時肯定會收到回復。 我試圖將數組保存到一個狀態,以便它可以檢索並與其他子組件一起使用。 當我在保存之前在控制台內登錄日志時,我得到:
console.log(response.data)
我得到[{},{}]
我的代碼是
const [helpFiles, setHelpFiles] = useState<HelpDTO[]>([]);
useEffect(() => {
helpApi.getHelpFiles().then((response) => {
if (response.status !== 200) return;
console.log(response.data)
setHelpFiles(response.data.data);
});
})
response.data.data
未定義,但如果我嘗試保存response.data
則會拋出錯誤:
Argument of type 'HelpGetResponse' is not assignable to parameter of type 'SetStateAction<HelpDTO[]>'.
Type 'HelpGetResponse' is not assignable to type '(prevState: HelpDTO[]) => HelpDTO[]'.
Type 'HelpGetResponse' provides no match for the signature '(prevState: HelpDTO[]): HelpDTO[]'.
所以我必須將其保存為response.data.data
但是它在保存時會出現未定義的...
我不知道如何正確保存響應...
嘗試使用空數組初始化狀態。
const [helpFiles, setHelpFiles] = useState([]);
控制台僅記錄響應並檢查控制台。 找到響應的哪個部分正在保存您需要的數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.