我不知道如何使用异步调用和承诺处理来传递我的结果变量这是我玩过的代码: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> ); }}我在组件文件中导入了我的承诺对象(结果)。我不知道为什么我的承诺字符串没有呈现。
2 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
我想通了,这就是我需要的:
async componentDidMount() {
const value = await result;
this.setState( (state, props) => {
return {data:value}
});
}
莫回无
TA贡献1865条经验 获得超7个赞
你需要使用 componentDidMount
componentDidMount 在组件安装(插入到树中)后立即调用。需要 DOM 节点的初始化应该放在这里
所以你需要在 componentDidMount 中调用你的请求,你需要将结果设置为组件的状态,所以在你的回调中你将调用setState
更新结果,即组件状态
添加回答
举报
0/150
提交
取消