我通过以下方式将参数传递到render()
函数中:
render() {
const { minerid, ownerid, logs, address } = this.props.miner
}
它们的结构如下:
有时,发送这些日志的脚本崩溃。 我试图使此处理程序,以便将充满零的日志添加到日志数组。
handleCrash = (logs) => {
let time = parseFloat(logs[logs.length - 1].time)
const newTime = Date.now()
const num = logs[logs.length - 1].gpus.num
if ((newTime - time) > 300) {
time = time+300
logs.push(
{
gpus: {
fans: Array(num).fill('0'),
hashrate: Array(num).fill('0'),
temps: Array(num).fill('0'),
num: num
},
miner: logs[logs.length - 1].miner,
time: time
}
)
}
}
然后我尝试将其放入我的componentDidMount()
中:
componentDidMount () {
this.handleCrash(this.props.miner.logs)
}
,以及将handleCrash()
放在我的渲染方法中,如下所示:
render() {
this.handleCrash(this.props.miner.logs)
const { minerid, ownerid, logs, address } = this.props.miner
我有不同的功能来处理这些数据,计算平均值,并在应用程序中进一步绘制图表。
在我尝试添加这些零日志并且得到“ Error: <path> attribute d: Expected number, "MNaN,85.926498958…
”并且图形不再呈现之前,它们都工作正常。
零个日志看起来与其他所有日志完全相同。
Anyobody知道我在这里做错了什么吗?预先谢谢你!
答案 0 :(得分:0)
也许是这样的:
handleCrash = (logs) => {
let time = parseFloat(logs[logs.length - 1].time)
const newTime = Date.now()
const num = logs[logs.length - 1].gpus.num
if ((newTime - time) > 300) {
time = time+300
logs.push(
{
gpus: {
fans: Array(num).fill('0'),
hashrate: Array(num).fill('0'),
temps: Array(num).fill('0'),
num: num
},
miner: logs[logs.length - 1].miner,
time: time
}
)
}
return logs
}
render() {
const { minerid, ownerid, logs, address } = this.handleCrash(this.props.miner.logs)