为什么我的React Text组件没有显示文本? (反应360)

时间:2018-09-18 05:17:11

标签: javascript reactjs

我在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网页。抱歉,把它遗漏了。

1 个答案:

答案 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>