在代码中的回调内访问* this *-反应

时间:2018-08-05 17:21:04

标签: javascript reactjs react-native

我正在创建一个实时加密货币响应本机应用程序。

现在我正在使用redux来管理状态。

我正在调用组件中的redux将挂载

  componentWillMount() {
    this.props.fetchCoin()
  }

this.props.fetchCoin是一种发送axios请求以从硬币帽APi获取加密数据的动作。

Coincap还提供了websocket,它可以实时告诉我们加密货币的值是否发生了变化(当前它只是在控制台日志中记录)。

在for循环中,我正在考虑检查已更改的值,然后更改该新的更新值。

为此,我在componentDidUpdate()

中建立了Websocket连接
componentDidUpdate() {

    var socket = openSocket('https://coincap.io');
    socket.on('trades', function (tradeMsg) {
      console.log(this.props.cryptoLoaded)
    })
  }

在这里,当我做这样的事情时,是说this.props.cryptoLoaded不是对象,而是在render内部。

 render() {


  var CryptoData = this.props.cryptoLoaded;
  let displayCrypto = CryptoData.map(el => {
    return (<CoinCard
       key={el["long"]}
       coinShortName = {el["short"]}
       coinName = {el["long"]}
       coinPrice = {el["price"].toFixed(2)}
       marketCap = {el["mktcap"]}
       percentChange = {el["perc"]}
       coinImage = {"https://coincap.io/images/coins/" + el['long'] + ".png"}
      />
    )
  })

它不会引发任何错误。那么有人可以告诉我为什么会引发错误吗?其次,我应该在哪里提出获取请求和Web套接字问题?

0 个答案:

没有答案