在反应中使用异步函数获取数据
Fetching data using a async function in react
我一直在尝试从对象数组创建 table。我能够控制异步函数中的数据。但我无法在外面安慰它。
我的代码:
useEffect(() => {
listingCampaignsModels()
}, []);
async function listingCampaignsModels() {
const apiData = await DataStore.query(Campaign);
console.log(apiData);
console.log(typeof(apiData));
return apiData;
};
当我试图在外面安慰 apiData
时,它 returns apiData is not defined
错误。
数据如下所示:
[Model, Model, Model, Model, Model, Model]
每个 Model
看起来像:
-> 1: Model {id: 'c40d6b22-840f-467a-909c-7b2b19960ffb', campaignOwner: 'eumagnas', campaignName: "mollitlab", startDate: "2022/08/15", endDate: "2022/10/25", expectedRevenue: 25, budgetedCost: 27, actualCost: 28}
我想遍历所有模型并创建一个 table 作为 :
Campaign Owner
Campaign Name
Start Date
End Date
Expected Revenue
Budgeted Cost
Actual Cost
eumagnas
mollitlab
2022/08/15
2022/10/25
25
27
28
您需要使用 useState()
挂钩将数据保存为活动状态。
const [campaigns, setCampaigns] = useState([]);
useEffect(() => {
listingCampaignsModels()
}, []);
async function listingCampaignsModels() {
const apiData = await DataStore.query(Campaign);
console.log(apiData);
setCampaigns(apiData);
};
我一直在尝试从对象数组创建 table。我能够控制异步函数中的数据。但我无法在外面安慰它。
我的代码:
useEffect(() => {
listingCampaignsModels()
}, []);
async function listingCampaignsModels() {
const apiData = await DataStore.query(Campaign);
console.log(apiData);
console.log(typeof(apiData));
return apiData;
};
当我试图在外面安慰 apiData
时,它 returns apiData is not defined
错误。
数据如下所示:
[Model, Model, Model, Model, Model, Model]
每个 Model
看起来像:
-> 1: Model {id: 'c40d6b22-840f-467a-909c-7b2b19960ffb', campaignOwner: 'eumagnas', campaignName: "mollitlab", startDate: "2022/08/15", endDate: "2022/10/25", expectedRevenue: 25, budgetedCost: 27, actualCost: 28}
我想遍历所有模型并创建一个 table 作为 :
Campaign Owner | Campaign Name | Start Date | End Date | Expected Revenue | Budgeted Cost | Actual Cost |
---|---|---|---|---|---|---|
eumagnas | mollitlab | 2022/08/15 | 2022/10/25 | 25 | 27 | 28 |
您需要使用 useState()
挂钩将数据保存为活动状态。
const [campaigns, setCampaigns] = useState([]);
useEffect(() => {
listingCampaignsModels()
}, []);
async function listingCampaignsModels() {
const apiData = await DataStore.query(Campaign);
console.log(apiData);
setCampaigns(apiData);
};