如何保存从.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的响应?
谢谢。
答案 0 :(得分:1)
state = {
Obtenerdata: [],
};
Obtenerdata
在组件的状态对象中
因此,您需要执行this.state.Obtenerdata
而不是this.Obtenerdata
答案 1 :(得分:1)
您可以使用.then(response => this.setState({ Obtenerdata: response});
来存储状态,并使用this.state.Obtenerdata