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连接:
现在我怀疑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;