如何使用我的react组件中的request api将字符串传递到变量中?
我不知道如何使用异步调用和答应处理以使结果变量通过]
这是我玩过的代码:
import React from 'react';
import {result} from './run.js';
export default class Films extends React.Component {
constructor(props){
super(props)
this.state = { data: 'constructor' }
console.log('cons')
}
componentDidMount() {
this.setState(async (state, props) => {
const value = await result;
console.log(value);
console.log('didMount')
return {data:value}
});
}
render (){
return (
<div>
<center> <h1> Weekend Box Office </h1></center>
<div className = 'data'>
<h1>{this.state.data}</h1>
</div>
</div>
);
}
}
我将我的Promise对象(结果)导入了我的组件文件。我不知道为什么我的诺言字符串没有显示。
回答如下:您需要使用componentDidMount
componentDidMount会在安装组件(插入树中)后立即调用。需要DOM节点的初始化应在此处
因此您需要在componentDidMount内部调用您的请求,并且需要将result设置为组件的状态,因此在回调内部您将调用setState
更新结果是组件状态
如何使用我的react组件中的request api将字符串传递到变量中?
我不知道如何使用异步调用和答应处理以使结果变量通过]
这是我玩过的代码:
import React from 'react';
import {result} from './run.js';
export default class Films extends React.Component {
constructor(props){
super(props)
this.state = { data: 'constructor' }
console.log('cons')
}
componentDidMount() {
this.setState(async (state, props) => {
const value = await result;
console.log(value);
console.log('didMount')
return {data:value}
});
}
render (){
return (
<div>
<center> <h1> Weekend Box Office </h1></center>
<div className = 'data'>
<h1>{this.state.data}</h1>
</div>
</div>
);
}
}
我将我的Promise对象(结果)导入了我的组件文件。我不知道为什么我的诺言字符串没有显示。
回答如下:您需要使用componentDidMount
componentDidMount会在安装组件(插入树中)后立即调用。需要DOM节点的初始化应在此处
因此您需要在componentDidMount内部调用您的请求,并且需要将result设置为组件的状态,因此在回调内部您将调用setState
更新结果是组件状态