react 编码规范

简介: react 编码规范

函数名称

按照惯例,通常将事件处理程序命名为 handle,后接事件名。你会经常看到 onClick={handleClick}onMouseEnter={handleMouseEnter} 等。

传递一个函数(正确)

调用一个函数(错误)

<button onClick={() => alert('...')}>

<button onClick={alert('...')}>

如果按如下方式传递内联代码,并不会在点击时触发,而是会在每次组件渲染时触发:

// 这个 alert 在组件渲染时触发,而不是点击时触发!
<button onClick={alert('你点击了我!')}>

如果你想要定义内联事件处理函数,请将其包装在匿名函数中,如下所示:

<button onClick={() => alert('你点击了我!')}>

参数传参:

1、箭头函数中执行

function handeClick(data){
  alert(data)
}
<button onClick={()=>handeClick('点我')}> 点我 </butotn>

箭头函数,都会创建一个新的函数实例,因此容易引起性能问题。但是在大多数情况下,性能影响并不显著。

2、推荐写法:bind方法

在这种情况下,我们使用 Function.prototype.bind 方法来绑定 handleClick 函数的上下文为 null,并传递参数 param

function handeClick(data){
  alert(data)
}
<button onClick={handeClick.bind(null,'点我 ')}>点我</button>

3、错误写法

以下代码中handleClick 会在渲染时立即执行

<button onClick={handeClick('韩庆元')>点我</button>

这种行为与 React 的事件处理机制不一致。

在 React 中,事件处理函数应该是一个函数引用,而不是一个函数的调用结果。当你使用 button onClick={handeClick('韩庆元')} 这样的方式时,实际上会立即执行 handeClick('韩庆元') 函数,并将其返回值作为事件处理函数,而不是绑定函数本身。

相关文章
|
2天前
|
前端开发 API UED
怎么学习React 18 进行项目开发?
【4月更文挑战第18天】学习React 18涉及新特性如并发模式、Suspense API和自动批处理更新,可提升性能和用户体验。首先了解这些新特性,然后掌握React基础知识,如组件化、JSX、props和state。使用Create React App创建项目,学习如何启用并发模式和使用Suspense显示占位符。实现自定义组件,关注props传递、状态管理和事件处理。通过Profiler优化性能,利用懒加载和代码分割减少加载时间,使用Context API共享状态。不断实践和探索,参考官方文档与社区资源,以提高开发技能。
101 3
|
5月前
|
存储 前端开发 JavaScript
react typescript 开发
react typescript 开发
41 0
|
9月前
|
前端开发 JavaScript
深入理解React Hooks与闭包:提升你的React开发技能
深入理解React Hooks与闭包:提升你的React开发技能
111 0
|
10月前
|
缓存 前端开发 JavaScript
探索 React Hook:提升 React 开发效率的核心知识点
在现代 Web 开发中,除了Vue,angle,React 已成为最受欢迎和广泛使用的前端框架之一。而在 React 16.8 版本中,引入了一项重大的改进——React Hook。React Hook 是一种让函数组件具备状态管理和其他特性的新方式,它彻底改变了我们编写和组织 React 组件的方式。本文将深入探讨 React Hook 的核心知识点,帮助您更好地理解和应用这项强大的技术。
|
存储 JSON 前端开发
React系列教程(2)React哲学
React系列教程(2)React哲学
53 0
|
前端开发
入门React(尝试一下jsx和组件化)
> 开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 23 天,点击查看活动详情 今天继续学习React,这是一篇面向初学者的React文章,大佬可以划走了。 # 引言 历史上,React源于facebook,他对于超大型的项目的编写上,适应非常好。而且具有着非常非常强大的生态环境。React的设计思路就是响应式编程。 这样有以下几个优势。 - 状态更新,UI会自动更新 - 代码组件化,可复用性更强,可以封装,更方便。 - 状态之间的依赖关系,只需要声明即可。 # 初始化项目 我们可以使用`create-react-app`的方式快速创建一个Rea
|
JavaScript 前端开发 搜索推荐
如何优雅地在 React 中使用TypeScript,看这一篇就够了!(3)
毕业已有3月有余,工作用的技术栈主要是React hooks + TypeScript。其实在单独使用 TypeScript 时没有太多的坑,不过和React结合之后就会复杂很多。本文就来聊一聊TypeScript与React一起使用时经常遇到的一些类型定义的问题。阅读本文前,希望你能有一定的React和TypeScript基础
733 0
|
资源调度 前端开发
react中规范类型接口的使用
react中规范类型接口的使用
|
JavaScript
react18-学习笔记4-为什么要学习typescript
react18-学习笔记4-为什么要学习typescript
48 0
react18-学习笔记4-为什么要学习typescript
|
JavaScript
react18-学习笔记3-什么是typescript
react18-学习笔记3-什么是typescript
58 0
react18-学习笔记3-什么是typescript