当前位置: 首页 > wzjs >正文

上海快速建站微信朋友圈的广告怎么投放

上海快速建站,微信朋友圈的广告怎么投放,为什么做网站的会弄友情链接,企业官方网站案例目录 ‌1、错误写法‌:onClick{this.acceptAlls()} ‌2、正确写法‌:onClick{this.acceptAlls}(不带括号) 总结 方案1:构造函数绑定 方案2:箭头函数包装方法(更简洁) 方案3&am…

 

目录

‌1、错误写法‌:onClick={this.acceptAlls()}

‌2、正确写法‌:onClick={this.acceptAlls}(不带括号)

总结

方案1:构造函数绑定

方案2:箭头函数包装方法(更简洁)

方案3:直接绑定 + 参数传递

方案的关键区别说明


在写代码时,看到别人写的点击事件,大家写法都不太一样,到底有什么需要注意的呢?

-----------需要注意 ‌正确的绑定方式 和 ‌事件触发时机

‌1、错误写法‌:onClick={this.acceptAlls()}

     原因:

  • 这样写会‌立即执行‌ acceptAlls 函数,而不是在点击时执行。
  • 括号 () 表示函数调用
  • 组件渲染时就会执行 acceptAlls
  • onClick 实际上接收到的是 acceptAlls 的返回值(这里是 undefined),而不是函数本身
// 例如:错误的写法
class MyComponent extends React.Component {acceptAlls = () => {console.log("执行逻辑", this.props); //};
}<Button onClick={this.acceptAlls() }>保存</Button>

‌2、正确写法‌:onClick={this.acceptAlls}(不带括号)

// 改正后的:
class MyComponent extends React.Component {acceptAlls = () => {console.log("执行逻辑", this.props); //};
}<Button onClick={this.acceptAlls}>保存</Button>

总结

在 React 中,onClick 需要接收一个‌函数引用‌(即函数本身),而不是函数的执行结果

  • onClick={函数}‌:传递函数引用,点击时执行。
  • onClick={函数()}‌:立即执行函数,传递返回值(通常是无效的)。
  • 这里 () => {...} 创建了一个新函数,点击时才会调用 acceptAlls(id)

方案1:构造函数绑定

<Button onClick={this.acceptAlls }>保存</Button>

上述写法的前提需要:this指向要明确(要么手动绑定、要么写成箭头函数)

class MyComponent extends React.Component {// 方式1:构造函数中绑定constructor(props) {super(props);this.acceptAlls = this.acceptAlls.bind(this);  // !!!!!!}acceptAlls() {console.log("执行逻辑", this.props); // this 正确指向组件实例}<Button onClick={this.acceptAlls}>直接确认</Button >
}

class MyComponent extends React.Component {// 方式2:箭头函数自动绑定 thisacceptAlls = () => {console.log("执行逻辑", this.props); // this 始终正确};<Button onClick={this.acceptAlls}>直接确认</Button >
}

class MyComponent extends React.Component {constructor(props) {super(props);this.acceptAlls = this.acceptAlls.bind(this); // ✅ 正确绑定}acceptAlls(id) {console.log("执行ID:", id, this.props); // ✅ this 正确}render() {return (<Button onClick={() => this.acceptAlls(item.id)}>确认</Button>// ✅ 箭头函数传参 + 已绑定的方法);}
}

方案2:箭头函数包装方法(更简洁)

class MyComponent extends React.Component {// 箭头函数自动绑定 thisacceptAlls = (id) => {console.log("确认操作", id, this.props);};render() {return (<div>{/* 无参数 */}<Button onClick={this.acceptAlls}>直接确认</Button >{/* 有参数 */}// 需要传递额外参数时(如 id):<Button onClick={() => this.acceptAlls(item.id)}>确认</Button></div>);}
}

注意:

  • 箭头函数一定的性能影响‌,每次渲染都会创建新函数,可能影响性能(在循环或纯组件中慎用)‌

方案3:直接绑定 + 参数传递

class MyComponent extends React.Component {constructor(props) {super(props);this.acceptAlls = this.acceptAlls.bind(this);}acceptAlls(id) { /*...*/ }render() {return (<Button onClick={this.acceptAlls.bind(this, item.id)}>确认</Button>// ✅ bind 直接绑定参数(注意性能影响));}
}

方案的关键区别说明

方案this 绑定参数传递性能影响
构造函数绑定手动绑定需箭头函数传参最优
箭头函数方法自动绑定可箭头函数传参较优
直接bind传参手动绑定bind直接传参较差(每次渲染新建函数)

最佳实践建议

  1. 优先使用方案2(箭头函数方法)‌:既解决this问题,又保持代码简洁
  2. 需要兼容旧代码时用方案1‌:显式绑定更易理解
  3. 避免在render中直接bind‌(方案3):可能引发性能问题

 

 

http://www.dtcms.com/wzjs/157526.html

相关文章:

  • 有个新网站专门做外贸的叫什么微信朋友圈广告在哪里做
  • 怎么做私服发布网站网页设计模板图片
  • wordpress表格线seo技术分享免费咨询
  • 帝国cms调用网站地址淘宝怎么优化关键词排名
  • 嘉兴高端网站建设门户网站排行榜
  • wordpress 仿简书模板优化营商环境的金句
  • 中山企业网站建设方案深圳互联网公司50强
  • 国外的外贸b2b网站有哪些怎么自己建网站
  • 做海报有什么素材网站知乎seo教程视频
  • app制作定制外包服务商e零基础seo入门教学
  • 成都网站建设开发站长之家seo一点询
  • 网站建设叫什么软件百度快速排名软件原理
  • 网站开发后台技术专业搜索引擎seo合作
  • dede发布网站近三天的国内外大事
  • 网站seo设置竞价排名适合百度吗
  • 网站建设网络门户网络营销策略有哪些
  • 如何建设网站推广平台今日热点新闻15条
  • 政府网站的微信微博建设国外搜索引擎入口
  • web服务器网站域名查询ip地址
  • 企业网站开发教学北京首页关键词优化
  • 静态网站开发一体化课程全国网站排名
  • 网站支持qq登录怎么做淘宝seo具体优化方法
  • 拖拉建网站排名优化服务
  • 凡科商城和有赞哪个好郑州seo网络营销
  • 做搜索引擎优化网站费用做网页设计的软件
  • wordpress前端注册龙岗seo优化
  • 网站目录怎么做301跳转最近的国际新闻大事10条
  • 做seo对网站推广有什么作用百度app下载链接
  • 咨询行业宁波seo快速优化课程
  • 北京市保障房建设投资中心网站首页百度网址提交入口