第 17:20 行:'count' 未定义 no-undef
Line 17:20: 'count' is not defined no-undef
我正在尝试使用按钮显示每次点击的次数,但我 运行 我的代码出了问题。当我 运行 我的代码时,它编译失败,但是当你检查页面时,你可以看到正在显示的时间。这是我的代码。
import React from 'react'
export default class Profile extends React.Component{
constructor(){
super();
this.state={
name:'Abdur Rehman',
email: 'abdur@gmail.com',
count: 0,
}
}
test(){
this.setState({
name: 'Jamal',
email: 'jamal123@gmail.com',
count: count+1
}
)
}
render(){
return(
<div>
<h1>hello {this.state.name}</h1>
<h1>Email: {this.state.email}</h1>
<h1>Count: {this.state.count}</h1>
<button onClick={()=>{this.test()}}>Update Name</button>
</div>
);
}
}
我不确定为什么它会编译失败,但我可以在您的测试方法中发现逻辑错误。
count: count+1
应该是:
count: this.state.count+1
或更好:
count: this.state.count++
这是因为您需要记住使用“this”关键字引用 class 配置文件的实例。这是必要的,因为任何赋值都需要引用存储计数变量的显式路径,即 this.state.count.
看看这是否对您有帮助:)
导入以前的状态,也不要在 constructor
函数之外改变 this.state
变量,在测试函数中使用 this.setState
,这也会重新渲染组件
import React from 'react'
export default class Profile extends React.Component{
constructor(){
super();
this.state={
name:'Abdur Rehman',
email: 'abdur@gmail.com',
count: 0,
}
}
test(){
this.setState({
...this.state,
name: 'Jamal',
email: 'jamal123@gmail.com',
count: this.state.count + 1
}
)
}
render(){
return(
<div>
<h1>hello {this.state.name}</h1>
<h1>Email: {this.state.email}</h1>
<h1>Count: {this.state.count}</h1>
<button onClick={()=>{this.test()}}>Update Name</button>
</div>
);
}
}
我正在尝试使用按钮显示每次点击的次数,但我 运行 我的代码出了问题。当我 运行 我的代码时,它编译失败,但是当你检查页面时,你可以看到正在显示的时间。这是我的代码。
import React from 'react'
export default class Profile extends React.Component{
constructor(){
super();
this.state={
name:'Abdur Rehman',
email: 'abdur@gmail.com',
count: 0,
}
}
test(){
this.setState({
name: 'Jamal',
email: 'jamal123@gmail.com',
count: count+1
}
)
}
render(){
return(
<div>
<h1>hello {this.state.name}</h1>
<h1>Email: {this.state.email}</h1>
<h1>Count: {this.state.count}</h1>
<button onClick={()=>{this.test()}}>Update Name</button>
</div>
);
}
}
我不确定为什么它会编译失败,但我可以在您的测试方法中发现逻辑错误。
count: count+1
应该是:
count: this.state.count+1
或更好:
count: this.state.count++
这是因为您需要记住使用“this”关键字引用 class 配置文件的实例。这是必要的,因为任何赋值都需要引用存储计数变量的显式路径,即 this.state.count.
看看这是否对您有帮助:)
导入以前的状态,也不要在 constructor
函数之外改变 this.state
变量,在测试函数中使用 this.setState
,这也会重新渲染组件
import React from 'react'
export default class Profile extends React.Component{
constructor(){
super();
this.state={
name:'Abdur Rehman',
email: 'abdur@gmail.com',
count: 0,
}
}
test(){
this.setState({
...this.state,
name: 'Jamal',
email: 'jamal123@gmail.com',
count: this.state.count + 1
}
)
}
render(){
return(
<div>
<h1>hello {this.state.name}</h1>
<h1>Email: {this.state.email}</h1>
<h1>Count: {this.state.count}</h1>
<button onClick={()=>{this.test()}}>Update Name</button>
</div>
);
}
}