reactjs - 设置间隔不会更新我的 UI 上的价格(reactjs)
问题描述
我在这里有这个代码来 setInterval 以在我的反应站点上每秒更新价格:
import React, { Component } from 'react'
import './Coin.css'
import PropTypes from 'prop-types';
export default class Coin extends Component {
constructor(props){
super(props);
this.state = {
price: this.props.price
}
}
componentDidMount(){
const callback = () => {
//set the state to a new random value
const randomPercentage = 0.995 + Math.random() * 0.01;
// Dont do this:
// this.state.price = this.state.price * randomPercentage:
this.setState(function(oldState){
return {
price: oldState.price * randomPercentage
};
});
}
setInterval(callback, 1000);
}
render() {
return (
<tr className="coin-row">
<td>{this.props.name}</td>
<td>{this.props.ticker}</td>
<td>${this.props.price}</td>
</tr>
);
}
}
Coin.propTypes = {
name:PropTypes.string.isRequired,
ticker: PropTypes.string.isRequired,
price: PropTypes.number.isRequired
}
当我运行这个应用程序时,我网站上的价格应该每秒更新一些随机数
当我运行它时,什么都没有发生——价格不是每秒都在变化,我的控制台也没有错误。我唯一看到的是控制台中的这个条目:
[HMR] Waiting for update signal from WDS...
这里有什么问题?我该如何解决?
这是教程的屏幕截图,他的代码正在运行 https://imgur.com/a/Ol1rrZf
解决方案
代替
<td>${this.props.price}</td>
和<td>${this.state.price}</td>
推荐阅读
- python - Mac OSX 的安装程序未提供将路径更改为 Python 3.5.2 版本的选项
- regex - RPA(blueprism) 日期验证
- android - 我正在尝试在 Windows 10(32 位)中安装 Android Studio – studio.exe 根本无法打开
- c# - Cursor = Cursors.None 用于代码中的弹出窗口
- c - c - 多线程图像处理性能问题
- java - 从 javafx 应用程序启动 python 脚本
- java - 在简单的树制作中,我收到一个错误:.class expected
- java - 错误的颜色参考?
- css - 将动画放入 HTML
- ios - 在 iPhone 6s 上缩放的收藏视图(仅限真实设备)