[英]Wait until a Promise is resolved to pass its result to a React return statement
我在这里有这个对象组件,是从本地服务器上从中获取数据的,我需要等到数据下载后,再将信息传递给组件的return语句。 我尝试了很多事情,但似乎没有用。 这是我的最后尝试:
import React, { Component } from 'react';
import ReviewItem from './review_item.js'
const ReviewList = async (props) => {
const form = {
elementPlayground:"2019A.Kagan",
elementId:props.element_id,
type:"ShowReviews",
attributes: { page:0, size:5 }
}
const url = `http://localhost:8083/playground/activities/2019A.Kagan/${props.playground}`
const getItems = () => {
return fetch(url, {
method: "POST",
mode: "cors",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(form),
})
.then(response => response.json())
.then(json => ((json['attributes'])['reviews']).map(review => <ReviewItem key={json['id']} review={review} />));
}
const items = await getItems();
console.log(items);
return (
<ul className="col-md-4 list-group">
{items}
</ul>
)
}
export default ReviewList;
我要退回的商品是“商品”,我们将不胜感激!
对此通常仍然很isLoading: true
,但是如果我正在等待显示数据的响应或阻止进一步的子项加载,我通常将state
设置为isLoading: true
,然后在成功完成获取时将isLoading: false
设置isLoading: false
如果有帮助,就可以这样。
return (
<ul className="col-md-4 list-group">
{!this.state.isLoading && {items}}
</ul>
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.