React组件开发规范

简介: React组件开发规范

React组件规范


文件命名

  • 每一个文件只包含一个组件,每一个基本组件只包含单一功能  
  • 如果文件返回是一个类,文件名首字母大写  
  • 测试用例文件名使用.spec.jsx后缀  
  • 每一个组件使用一个单独的测试用例文件  

Js规范

  • 使用es6+开发,尽量使用常用的ES6+语法  
  • 使用jsx语法  
  • 组件文件命名使用大驼峰, ComponentDemo  
  • 带命名空间的组件,如果一个组件包含只有自身使用的子组件,以该组件为命名空间编写组件,例如Table,Table.Head  
  • 不使用displayName命名  
  • 自定义属性使用data-  
  • 使用propTypes进行props类型校验  
  • 使用defaultProps定义默认参数  
  • 定义props避开react关键字及保留字,常用的props及state定义可参考下表  
  • 尽量少或者不使用ref获取和操作dom节点,使用state和prop进行控制dom,如遇必须使用的情况,添加详细注释信息  
  • 事件调用使用在元素上onClick调用  
  • 注意,react和html的表单元素的差异  
  • 不支持mixin,使用decorator进行扩展和高阶组件方式扩展。  
  • 不能私自添加第三方js库,如需要使用,必须通知本组组长,并在工作群里提出,At所有前端负责人,经讨论后再添加
  • 尽量多而有用的代码注释,方法使用块级注释  
  • 避免使用定时器类的编码,如必须使用,需添加详细注释,各组长合并代码时需要审查是否合理,合确认是否含有销毁方法  
  • 自身定义的props属性应避免与react的关键字相同  

样式规范

  • 在添加src/style/theme/default.sess中添加公共样式变量,各开发人员尽可能使用里面定义的公共样式变量  
  • 组件多样式调用,使用classnames模块,进行样式处理,使用className调用  
  • 所有组件类名命名以‘expo-’开头  

通用组件接口规范

参数

说明 类型 默认值
size 尺寸 string medium
color 颜色 string ''
shape 形状 string ''
disabled 是否禁用 bool false
className 增加额外的类名 string ''
htmlType html dom 的 type 属性 string string
style 内联样式 object object

参考链接

airbnb规范

代码规范

相关文章
|
前端开发 安全 JavaScript
【Message 全局提示】基于 React 实现 Message 组件
使用 ReactDOM.createRoot、React.forwardRef、React.useImperativeHandle 实现 Message 组件。使用 Web Crypto API 生成符合密码学要求的安全的随机 ID。
|
7月前
|
监控 前端开发 数据可视化
React音频进度条组件开发全攻略
本文介绍了音频播放器的实现与优化,涵盖基础功能、进阶交互、问题诊断及企业级增强方案。首先通过绑定音频元素和进度条展示核心逻辑,解决状态循环更新和除零错误等典型问题。接着实现拖拽定位、缓冲加载等功能,处理移动端兼容性和性能优化。针对时间不同步、内存泄漏等问题提出解决方案,并介绍异步状态管理和内存防护策略。最后探讨键盘导航、可视化扩展等企业级特性,总结最佳实践,包括状态隔离、性能监控、无障碍支持及测试方案,建议使用TypeScript和Storybook提升开发效率和类型安全性。
175 30
React音频进度条组件开发全攻略
|
6月前
|
前端开发 数据可视化 测试技术
React音频播放列表组件开发实战:常见问题与避坑指南
本文介绍了构建React音频播放列表组件的核心架构与常见问题解决方案。通过管理播放状态、列表索引和音频进度,结合异步控制、状态清理、节流优化等技术,确保流畅的用户体验。针对移动端兼容性、内存泄漏、列表渲染性能等问题提供了具体修复方案,并分享了自定义Hook封装、可视化音频波形等进阶实践。最后,总结了性能优化法则和测试关键点,帮助开发者打造生产级可靠的音频播放组件。
175 18
|
7月前
|
Web App开发 监控 前端开发
React音频播放控制组件开发深度解析
本文介绍了构建React音频控制组件时遇到的关键问题及优化方案。主要包括: 1. **状态同步难题**:解决播放按钮与音频状态不同步的问题,通过双向绑定机制确保一致。 2. **跨浏览器兼容性**:处理Safari和Chrome预加载策略差异,确保`duration`属性正确获取。 3. **进度控制优化**:避免使用`setInterval`,采用`requestAnimationFrame`提升性能;优化拖拽交互,防止音频卡顿。 4. **音量控制进阶**:实现渐变音量调节和静音状态同步。
174 15
|
前端开发 JavaScript 测试技术
【第55期】一文读懂React组件开发环境
【第55期】一文读懂React组件开发环境
156 1
|
前端开发
React Hooks实战技巧:提升你的组件开发效率
【7月更文挑战第16天】React Hooks为React开发带来了革命性的变化,使得函数式组件更加强大和灵活。通过掌握上述实战技巧,你可以更高效地编写清晰、可维护和可复用的React组件。希望这些技巧能帮助你在React开发之路上走得更远。
|
前端开发 数据处理 API
react中的目录规范
react中的目录规范
217 1
|
前端开发 JavaScript 开发者
React格式化规范
React格式化规范
343 0
|
JavaScript 前端开发 安全
react.ts规范
react.ts规范
176 0
|
JavaScript 前端开发 安全
react.ts规范
react.ts规范