【发布时间】:2020-11-15 05:11:14
【问题描述】:
我有一个反应组件。如果我用户单击父组件上的链接到,他们就可以降落在这个子组件上。但是,如果他们刷新页面,或者直接转到链接,他们就没有数据,所以我需要自己再次调用 api 来获取那个唯一的 id。
当我进行 api 调用时(当问题未定义时),它可以工作,但我得到了一个已经履行的承诺,没有数据。如何获取对象?
class Issue extends React.Component {
getIssue = async (id) => {
try {
const endpoint = `https://api.github.com/repos/facebook/create-react-app/issues/${id}`;
const response = await fetch(endpoint);
const data = await response.json();
return data;
} catch (error) {
console.log(error);
}
}
// }
render(){
let { issue } = this.props.location;
console.log(issue);
if(issue === undefined){
console.log('No Data');
issue = this.getIssue(this.props.match.params.id);
console.log(issue);
} else {
console.log('Data');
}
return (
<h1>ff</h1>
)
}
}
【问题讨论】:
-
如果问题未定义,则渲染加载组件。并在 componentDidMount() 中调用你的 api
-
我该怎么做?
-
如果在
getIssue方法中console.log(id)在try之前看到有效 id 吗?
标签: javascript reactjs