javascript - 在 React JS 中生成随机数
问题描述
所以,我试图在我的简单应用程序中生成一个随机数,但是这个错误来了,任何人都可以帮我解决这个问题。
./src/ComLifeCycle.js
语法错误:E:/REACT/props-states/src/ComLifeCycle.js: Unexpected token, expected, (31:37)
31 | this.setState(number: Math.random()); // 这行有问题。
import React, { Component } from 'react';
import logo from './logo.svg';
import './ComLifeCycle.css';
class ComLifeCycle extends Component {
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">Welcome to React</h1>
</header>
<Body />
</div>
);
}
}
class Body extends Component {
constructor(props){
super(props);
this.state = {
number: 0
};
this.generateRandomNumber = this.generateRandomNumber.bind(this);
}
generateRandomNumber = () => {
console.log("clicked");
this.setState(number: Math.random()); // **problem in this line**
}
render(){
return(
<div>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
<button onClick={this.generateRandomNumber}>Random number</button>
<Number myNumber={this.state.number}/>
</div>
);
}
}
class Number extends Component {
render(){
return(
<div>
<br />
<p>{this.props.myNumber}</p>
</div>
);
}
}
export default ComLifeCycle;
解决方案
您的 for 语法setState
不正确,它需要更新的值是一个对象。简而言之,您缺少花括号number: Math.random()
this.setState({number: Math.random()});
推荐阅读
- mongodb - 如何在 upsert 上添加到数组
- javascript - 处理具有相同ajax调用的多个按钮
- sql - SQL 查询从以下字符串中检索 2 位数字
- docker - Spark Standalone 不适用于本地文件系统
- c# - 如何在 ASP.NET MVC CORE 中使用特殊属性绑定模型
- javascript - 如何使用 JSON 格式获取同一节点级别的键值
- javascript - getElementById 与变量成反引号
- jenkins - 无法安装 LDAP Jenkins 插件
- php - 透视查询以显示一年中每一天的数据
- join - 在 Visual FoxPro 中从表连接中选择