我在React中有以下代码:
export class CryptoInformation extends React.Component {
state = {
cryptoInformation: {}
}
componentDidMount() {
fetch('https://api.coinmarketcap.com/v2/ticker/1/')
.then(response => response.json())
.then(response => {
this.setState({cryptoInformation: response["data"]});
})
.then(response => {
#########This logs to the console 'Bitcoin'#######
console.log(this.state.cryptoInformation.name);
})
}
render() {
return (
<View>
######## Why is this not showing 'Bitcoin' #######
<Text>{this.state.cryptoInformation.name}</Text>
</View>
)
}
}
API可以完美运行,并且我能够获取需要存储在cryptoInformation
对象中的信息。但是,当我尝试显示JSON的name
部分时,Text没有任何结果。为什么会这样呢?这应该很简单。我输入的数据有误吗?帮助将不胜感激。谢谢。
----编辑----
返回的数据具有以下结构:
{
"data": {
"id": 1,
"name": "Bitcoin",
"symbol": "BTC",
"website_slug": "bitcoin",
"rank": 1,
"circulating_supply": 17008162.0,
"total_supply": 17008162.0,
"max_supply": 21000000.0,
"quotes": {
"USD": {
"price": 9024.09,
"volume_24h": 8765400000.0,
"market_cap": 153483184623.0,
"percent_change_1h": -2.31,
"percent_change_24h": -4.18,
"percent_change_7d": -0.47
}
},
"last_updated": 1525137271
},
"metadata": {
"timestamp": 1525237332,
"error": null
}
}
此外,我也没有任何错误,因为在控制台中可以看到数据结构。
-----编辑----
我省略了一个主要细节。我实际上是使用React 360创建一个Vr网页。抱歉,把它遗漏了。
答案 0 :(得分:0)
我已经尝试了相同的方法,但是没有出现任何错误,它按预期运行。
我唯一更改的是使用...
$string = $data('myarray');
$string1 = array();
foreach($string as $value){
$split = explode('=>',$value);
$string1[$split[0]]=$split[1];
}
...
插入的echo $string1['key1']; //gives value1
,$string = 'key1=>value1,key2=>value2...';
$string = explode(',',$string); // same as $string = array('key1'=>'value1',...)
$string1 = array();
foreach($string as $value){
$split = explode('=>',$value);
$string1[$split[0]]=$split[1];
}
而不是<div>
。
由于它是一个反应应用程序。
您必须检查天气是否正确导入此文件。
<View>
<h1>