Javascript 单击ReactJs中的开关名称按钮后未获得正确的输出

Javascript 单击ReactJs中的开关名称按钮后未获得正确的输出,javascript,node.js,reactjs,Javascript,Node.js,Reactjs,单击ReactJs中的开关名称按钮后未获得正确的输出 App.js: 状态={ 人员:[ {姓名:'Max',年龄:25}, {姓名:'Manu',年龄:29}, {姓名:'Stephanie',年龄:26} ] } switchNameHandler=()=>{ console.log('Was clicked!'); } render(){ 返回( 工作 工作 交换机名称 ); } 输出:(点击6-7次后) 您需要将函数设置为变量,与对象相同。试试这个: var state = {

单击ReactJs中的开关名称按钮后未获得正确的输出

App.js:

状态={
人员:[
{姓名:'Max',年龄:25},
{姓名:'Manu',年龄:29},
{姓名:'Stephanie',年龄:26}
]
}
switchNameHandler=()=>{
console.log('Was clicked!');
}
render(){
返回(
工作
工作
交换机名称
);
}
输出:(点击6-7次后)


您需要将函数设置为变量,与对象相同。试试这个:

var state = {
    persons: [
      { name: 'Max', age: 25 },
      { name: 'Manu', age: 29 },
      { name: 'Stephanie', age: 26 }
    ]
  }
var switchNameHandler = () => {
  console.log('Was clicked!');
  
}
你的问题在这里

<button onClick={this.switchNameHandler()}>switch Name</button>

this.switchNameHandler()}>开关名称

onClick需要一个函数,而不是一个函数的返回,除非返回是另一个函数。

this.switchNameHandler()
更改为
()=>this.switchNameHandler()
@StackedQ它正在工作,但是你能解释一下为什么会这样。switchNameHandler()这对我不起作用,但对指导老师起作用,我正在学习他的教程,因为这将在渲染时启动函数,但是
()=>这。switchNameHandler()
意味着在单击时运行此函数,第一个是函数调用,但后一个是函数回调。
<button onClick={this.switchNameHandler()}>switch Name</button>
<button onClick={this.switchNameHandler}>switch Name</button>
<button onClick={()=>this.switchNameHandler()}>switch Name</button>