React中onclick事件在渲染后自动执行问题

1,108 阅读1分钟

原因:

  onClick事件如果包含() ,就会变成执行函数,从而导致这个结果

 错误如下:

render: (text, record) => (                    <span>                        <Button onClick={this.returnHome(record.projectName)}>编辑</Button>                    </span>                ),

解决方法:

1. 如果事件函数不需要参数,那么去除() 即可;

2. 如果事件函数需要参数,那么使用箭头函数包括即可;

render: (text, record) => (                    <span>                        <Button onClick={()=>this.returnHome(record.projectName)}>编辑</Button>                    </span>                ),