在React组件内等待来自非React源的请求,可以通过以下步骤实现:
以下是一个示例代码:
import React, { Component } from 'react';
class MyComponent extends Component {
constructor(props) {
super(props);
this.state = {
isLoading: true,
data: null,
error: null
};
}
componentDidMount() {
// 发起非React源的请求
fetch('https://example.com/api/data')
.then(response => response.json())
.then(data => {
// 请求成功,更新组件状态
this.setState({
isLoading: false,
data: data,
error: null
});
})
.catch(error => {
// 请求失败,更新组件状态
this.setState({
isLoading: false,
data: null,
error: error.message
});
});
}
render() {
const { isLoading, data, error } = this.state;
if (isLoading) {
return <div>Loading...</div>;
}
if (error) {
return <div>Error: {error}</div>;
}
return (
<div>
{/* 根据请求的结果显示内容 */}
<p>Data: {data}</p>
</div>
);
}
}
export default MyComponent;
在上述示例中,使用fetch方法发起了一个GET请求,并在请求成功或失败时更新组件的状态。根据isLoading的值来决定显示加载中的提示或者请求的结果。请注意,示例中的请求地址仅作为示意,实际应根据具体情况进行修改。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云对象存储(COS)。
请注意,以上推荐的腾讯云产品仅作为示例,实际应根据具体需求选择适合的产品。
领取专属 10元无门槛券
手把手带您无忧上云