javascript - setinterval 中预期的 Reactjs 参数表达式
问题描述
我在 reactjs 中使用 setInterval 但只要我在其中使用 if 表达式。我有一个错误。我的代码是
setInterval (
if(this.state.count >4){
this.setState({
classcolor: colors[Math.floor((Math.random() * 2) + 0)]
})
}
this.setState(prevState => ({
count: prevState.count + 1
}), () => {this.setState({
classcolor: colors[Math.floor((Math.random() * 2) + 0)]
})})
, 2000)
我怎么解决这个问题?有人可以帮助我吗?
解决方案
的第一个参数setInterval
应该是一个函数。您刚刚直接启动了函数体代码。该代码需要在函数内部,如下所示:
setInterval (() => {
if(this.state.count >4){
this.setState({
classcolor: colors[Math.floor((Math.random() * 2) + 0)]
})
}
this.setState(prevState => ({
count: prevState.count + 1
}), () => {this.setState({
classcolor: colors[Math.floor((Math.random() * 2) + 0)]
})})
}, 2000);
推荐阅读
- android - 此用例的哪个 RxJava 运算符
- azure - 将文件保存到子目录中的 Azure 文件共享
- permissions - 将正确的用户/组设置为 Apache 服务器/项目
- python - 在包含数字的指定嵌套列表中查找最大数字
- c# - SkiaSharp SKMatrix.PostConcat 过时了吗?
- c# - Asp.net MVC DropDownListFor 来自模型的列表列表
- android - 如何编写 Room Dao 查询以在 Android 中基于单表中的可选多列搜索唯一数据?
- flutter - 在 Flutter 中使用 awesome_notifications 显示通知的问题
- angular - 从角度模板多次调用方法
- java - Java:将 HEX 字节数组转换为 16 个固定长度的二进制字符串