<p onClick={this.clickHandler1.bind(this)}>文字</p>

来源:7-6 React事件为何bind this

西贝99

2020-03-27

<p onClick={this.clickHandler1.bind(this)}>测试</p>

关于bind(this)为什么不建议直接写在元素上,个人理解如下:

当前所在组件渲染一次,bind(this)就执行一次(并不是点击一次执行一次),bind(this)每次执行都会生成一个新的函数,在react中,元素或者组件是否渲染看的是props和state数据是否有更新,所以新的函数会造成子元素或者子组件的不必要的渲染。

请问老师,这样理解有问题吗?

写回答

2回答

慕函数3762822

2021-09-18

正解,并不是点击一次执行一次

0
0

双越

2020-03-27

在react中,元素或者组件是否渲染看的是props和state数据是否有更新,所以新的函数会造成子元素或者子组件的不必要的渲染 —— 这句话我没太理解你表达的意思。

其他的没问题。

0
2
双越
回复
西贝99
嗯呢,你描述的没错,会有这个问题。
2020-03-27
共2条回复

2024版 前端框架及项目面试 聚焦Vue3/React/Webpack

面向1-3年前端的框架及项目面试“刚需内容”

4663 学习 · 1644 问题

查看课程