与SignalR反应 - TypeError:WebSocketClient()不是构造函数

时间:2017-07-25 01:13:38

标签: node.js api reactjs websocket signalr

React开发新手。

我正在使用他们的node.js包装器构建BitTrex Exchange API的API客户端:node.bittrex.api

目标是在ReactJS框架内简单测试websocket订阅的订单簿更新,以下是我采取的步骤:

- 使用create-react-app创建应用程序 -used npm安装node.bittrex.api
- 将bittrex客户端对象添加到默认App.js组件的顶部,并使用适当的API密钥配置选项 - 添加一个按钮(带有处理程序,根据React docs绑定到按钮)到默认的App.js主要组件,
-inside处理函数,根据node.bittrex.api文档中的示例代码启动websocket订阅。

应用程序出现了,但是当我按下按钮时,我收到一条错误,指出TypeError Websocketclient()不是构造函数,在SignalR.js内部的行中创建了websocket连接:

enter image description here

现在我怀疑React框架中只有一些特定的东西搞砸了。任何人都可以帮我理解错综复杂吗?谢谢。这是我的App.js:

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';

var bittrex = require('../node_modules/node.bittrex.api/node.bittrex.api.js');
bittrex.options({
      'apikey' : process.env.REACT_APP_BTREX_API_KEY,
      'apisecret' : process.env.REACT_APP_BTREX_SECRET_KEY, 
      'verbose' : true,
      'cleartext' : false, 
      'baseUrl' : 'https://bittrex.com/api/v1.1'
    });



class App extends Component {

  constructor(props) {
    super(props);
    this.handleClick = this.handleClick.bind(this);
  }

  handleClick() {
    bittrex.websockets.subscribe(['BTC-ETH','BTC-ANS','BTC-GNT'], function(data) {
      if (data.M === 'updateExchangeState') {
        data.A.forEach(function(data_for) {
          console.log('Market Update for '+ data_for.MarketName, data_for);
        });
      }
    });


  }

  render() {
    return (
      <div className="App">
        <div className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h2>Welcome to React</h2>
        </div>
        <br/>
        <button onClick={this.handleClick}>Start WS Sub</button>
      </div>
    );
  }
}

export default App;

0 个答案:

没有答案