猿问

如何使用我的反应组件内的请求 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>

    );

  }

}

我在组件文件中导入了我的承诺对象(结果)。我不知道为什么我的承诺字符串没有呈现。


慕姐4208626
浏览 134回答 2
2回答

慕桂英3389331

我想通了,这就是我需要的:async componentDidMount() {&nbsp; const value = await result;&nbsp; &nbsp;this.setState( (state, props) => {&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; return {data:value}&nbsp; &nbsp; });&nbsp; }

莫回无

你需要使用 componentDidMountcomponentDidMount 在组件安装(插入到树中)后立即调用。需要 DOM 节点的初始化应该放在这里所以你需要在 componentDidMount 中调用你的请求,你需要将结果设置为组件的状态,所以在你的回调中你将调用setState&nbsp;更新结果,即组件状态
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答