在我的react应用程序中,我希望使用API数据初始化组件的状态。工作的一种方法是在useEffect()中进行API调用,然后在API调用之后设置状态,但这将发生在组件的初始挂载之后。
我只是想知道是否还有其他方法在组件初始挂载之前初始化状态?这是我试过的,但不起作用。
async function getAns() {
let output = [];
//make api calls and assign data to output
//.......
return output;
};
const [playersList, setPlayersList] = useState(getAns());
非常感谢您的建议!
发布于 2022-05-16 00:33:40
您可以在功能中使用异步等待,只有当状态有来自API调用的响应数据时才能加载组件。
import React,{useState, useEffect} from 'react';
const Component = () => {
const [playerList, setPlayerList] = useState();
async function getAns(){
let output = await //make api calls and assign data to output
return setPlayerList(output);
};
useEffect(() => {
getAns();
}, [])
return (
{playerList && (
// Component jsx elements
)}
)
}
export default Component;
https://stackoverflow.com/questions/72253011
复制相似问题