【项目笔记】React17+React Hook+TS4 最佳实践 仿 Jira 企业级项目(一)项目创建和配置

参考的项目网址:React + React Hook + TS 最佳实践-慕课网

目录

1.创建项目

2.eslint、prettier和commitlint配置

3.数据mock方案:


1.创建项目

npx create-react-app jira --template typescript
cd jira
yarn start

-生成的项目结构如图:

-src文件夹参与打包,入口文件为index.tsx,源代码里面用到的资源都要放到src文件夹里面

-public文件夹一般用得不多,里面有一个robots.txt来限制网站的搜索访问

-用npm start启动项目可以看到初始化React App的网站

2.eslint、prettier和commitlint配置

-路径配置:在tsconfig.json里面添加配置:

        在"compilerOptions"里面添加"baseUrl": "./src",可以省略 src/ 之前的路径,直接从 src 目录开始引用

-格式配置:Prettier配置

       根据 Install · Prettier 的前三步操作。这里可以使用npx prettier . --write的命令来手动format,也可以Pre-commit Hook · Prettier里面的precommit hook来自动format(在代码每次提交之前自动进行格式化)

-Git提交名的格式配置:commitlint

        根据GitHub - conventional-changelog/commitlint: 📓 Lint commit messages 里面的指令操作

3.数据mock方案:

因为一般都是前后端并行开发,所以前端前期没有后端接口可用,需要Mock数据。

方案一:写到代码里面(与真实server的环境切换很麻烦)

方案二:请求拦截(如Mock.js,其实是重新写http request里面的数据,可以生成重新数据,但是数据都是动态生成的假数据,无法模拟真实增删改查,只支持ajax不支持fetch)

方案三:接口管理工具(如swagger,接口管理与Mock一体,依赖后端配置,配置复杂)

方案四:本地node服务器(如json-server,启动REST API server的配置简单,自定义度高,真实度高,但是与接口管理工具相比无法随着后端api的修改而自动修改)(这里采用这种方案)

什么是REST API?是API的一种设计风格

JSON Server配置:

参考网址GitHub - typicode/json-server: Get a full fake REST API with zero coding in less than 30 seconds (seriously)
-创建__json_server_mock__文件夹:这种命名方式主要意思是,这个文件夹中的内容和代码没什么关系

-在里面创建db.json

-在package.json的“scripts”里面添加配置:

"json-server": "json-server __json_server_mock__/db.json -watch"

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React 17是最新发布的React版本,它带来了一些重要的改进和优化,提高了React应用的性能和可维护性。React Hooks是一种新的特性,它可以替代Class组件中的生命周期方法和状态管理方式,使代码更简洁、易读和可测试。TypeScript是一种静态类型检查的编程语言,结合ReactReact Hooks可以提供更好的类型安全和代码提示,减少潜在的bug。 在仿Jira企业项目中,使用React 17、React Hooks和TypeScript的最佳实践可以如下: 1. 使用函数组件和React Hooks来构建UI组件,避免使用Class组件和生命周期方法。这样可以降低组件的复杂度,并且让代码更加易于维护和扩展。 2. 在使用React Hooks时,尽可能将逻辑分离成可复用的自定义Hooks,以提高代码的可维护性和重用性。 3. 使用TypeScript来为组件和函数添加类型声明,以提供更好的类型安全和代码提示。通过使用接口和类型别名,可以明确指定组件的props和状态的类型,并及时发现并修复类型错误。 4. 使用React Context和useContext Hook来实现全局状态管理。这对于企业项目中的共享数据是非常有用的,可以避免通过Props层层传递数据。 5. 使用React Router来管理路由,以便实现页面间的导航和切换。 6. 使用Axios或其他合适的网络库来处理与服务器的数据通信。 7. 使用CSS模块化或CSS-in-JS技术来管理组件的样式,以确保样式的隔离性和可重用性。 8. 使用ESLint和Prettier等代码检查工具,确保代码的一致性和质量。 通过遵循以上最佳实践,可以使仿Jira企业项目更加现代化、高效、可维护,帮助开发者更好地进行团队协作和项目开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值