前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >React 16 - 构建可维护可扩展的前端应用

React 16 - 构建可维护可扩展的前端应用

作者头像
Cellinlab
发布于 2023-05-17 06:39:19
发布于 2023-05-17 06:39:19
40500
代码可运行
举报
文章被收录于专栏:Cellinlab's BlogCellinlab's Blog
运行总次数:0
代码可运行

# 前端项目的理想架构

  • 易开发
    • 开发工具是否完善
    • 生态是否繁荣
    • 社区是否活跃
  • 可扩展
    • 增加新功能是否容易
    • 新功能是否会显著增加系统复杂度
  • 可维护
    • 代码是否容易理解
    • 文档是否健全
  • 可测试
    • 功能分层是否清晰
    • 副作用少
    • 尽量使用纯函数
  • 易构建
    • 使用通用技术和架构
    • 构建工具的选择

# 拆分复杂度

# 按领域模型组织代码

按领域模型(feature)组织代码,降低耦合度

  • 将业务逻辑拆分成高内聚松耦合的模块
  • 通过 React 技术栈实现

# 组织 Component,Action 和 Reducer

  • 文件夹结构
    • 按 feature 组织源文件
    • 使用 root loader 加载 feature 下的各个资源
    • 组件和样式文件同一级
    • Redux 单独文件夹在各个 feature 中
      • Action 和 Reducer 同一级,在 redux 下
    • 单元测试保持同样目录结构放在 tests 文件夹
    • constants.js 在 feature 中,变量名以 {FEATURE_NAME}_ 开头

# 组织 React Router 的路由配置

  • 在每个 feature 中单独定义自己的路由

使用 JSON 定义顶层路由,更容易理解和维护

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import { WellcomePage, CounterPage, Layout } from './';

export default {
  path: 'examples',
  name: 'Examples',
  component: Layout,
  childRoutes: [
    { path: '', name: 'Wellcome Page', component: WellcomePage },
    { path: 'counter', name: 'Counter Page', component: CounterPage },
  ],
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/2/7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验