React.js:如何将从.then获得的结果保存到var

时间:2020-04-14 19:06:13

标签: javascript reactjs

如何保存从.then获取的数据

示例:

import React, { Component, Fragment } from "react";
//Función que conecta un componente a Redux store.
import { connect } from "react-redux";



  class PruebasAPI extends Component {
    state = {
      Obtenerdata: [],
    };



    GetPriceCurrencie = () => {

      const CoinbasePro = require('coinbase-pro');
      const publicClient = new CoinbasePro.PublicClient();
      //publicClient.getProductTicker(sobre).then(response=> alert(response.price))
      publicClient.getProductTicker('ETH-EUR').then(output => {
          this.setState({
            Obtenerdata: output
          });

      } 
    )
    console.log("test123:", this.Obtenerdata )
    return this.Obtenerdata;

    };

    componentDidMount() {
      this.GetPriceCurrencie();

    }

    componentWillReceiveProps(newProps) {
      if (newProps.token) {
        this.GetPriceCurrencie();      
      }
    }





  render() {

    console.log("Value is:", this.Obtenerdata )




      return (
        <Fragment>
          TEST 1
          <br></br>


        <div>
          <br></br>
          Test result: {this.Obtenerdata}

        </div>
        </Fragment>

    );
  }
}

const mapStateToProps = state => {
  return {
    token: state.token
  };
};


export default connect(mapStateToProps)(PruebasAPI);

在console.log(“ test123:”,this.Obtenerdata)上看到的错误是未定义的。

如果我没上线: //publicClient.getProductTicker(sobre).then(response => alert(response.price))

我有电话号码:xxx.xx

如何保存对var的响应?

谢谢。

2 个答案:

答案 0 :(得分:1)

    state = {
      Obtenerdata: [],
    };

Obtenerdata在组件的状态对象中

因此,您需要执行this.state.Obtenerdata而不是this.Obtenerdata

答案 1 :(得分:1)

您可以使用.then(response => this.setState({ Obtenerdata: response});来存储状态,并使用this.state.Obtenerdata

获取数据