我正在创建一个实时加密货币响应本机应用程序。
现在我正在使用redux来管理状态。
我正在调用组件中的redux将挂载
componentWillMount() {
this.props.fetchCoin()
}
this.props.fetchCoin是一种发送axios请求以从硬币帽APi获取加密数据的动作。
Coincap还提供了websocket,它可以实时告诉我们加密货币的值是否发生了变化(当前它只是在控制台日志中记录)。
在for循环中,我正在考虑检查已更改的值,然后更改该新的更新值。
为此,我在componentDidUpdate()
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套接字问题?