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

大连做公司网站哪家好网站制作步骤是什么

大连做公司网站哪家好,网站制作步骤是什么,网站进度条代码,江西网站设计方案文章目录 一、项目起航#xff1a;项目初始化与配置二、React 与 Hook 应用#xff1a;实现项目列表三、TS 应用#xff1a;JS神助攻 - 强类型四、JWT、用户认证与异步请求五、CSS 其实很简单 - 用 CSS-in-JS 添加样式六、用户体验优化 - 加载中和错误状态处理七、Hook… 文章目录 一、项目起航项目初始化与配置二、React 与 Hook 应用实现项目列表三、TS 应用JS神助攻 - 强类型四、JWT、用户认证与异步请求五、CSS 其实很简单 - 用 CSS-in-JS 添加样式六、用户体验优化 - 加载中和错误状态处理七、Hook路由与 URL 状态管理八、用户选择器与项目编辑功能九、深入React 状态管理与Redux机制十、用 react-query 获取数据管理缓存十一、看板页面及任务组页面开发十二、自动化测试1.简介2.传统单元测试3.自动化测试 hook4.自动化测试组件 学习内容来源React React Hook TS 最佳实践-慕课网 相对原教程我在学习开始时2023.03采用的是当前最新版本 项版本react react-dom^18.2.0react-router react-router-dom^6.11.2antd^4.24.8commitlint/cli commitlint/config-conventional^17.4.4eslint-config-prettier^8.6.0husky^8.0.3lint-staged^13.1.2prettier2.8.4json-server0.17.2craco-less^2.0.0craco/craco^7.1.0qs^6.11.0dayjs^1.11.7react-helmet^6.1.0types/react-helmet^6.1.6react-query^6.1.0welldone-software/why-did-you-render^7.0.1emotion/react emotion/styled^11.10.6 具体配置、操作和内容会有差异“坑”也会有所不同。。。 一、项目起航项目初始化与配置 一、项目起航项目初始化与配置 二、React 与 Hook 应用实现项目列表 二、React 与 Hook 应用实现项目列表 三、TS 应用JS神助攻 - 强类型 三、 TS 应用JS神助攻 - 强类型 四、JWT、用户认证与异步请求 四、 JWT、用户认证与异步请求(上) 四、 JWT、用户认证与异步请求(下) 五、CSS 其实很简单 - 用 CSS-in-JS 添加样式 五、CSS 其实很简单 - 用 CSS-in-JS 添加样式(上) 五、CSS 其实很简单 - 用 CSS-in-JS 添加样式(下) 六、用户体验优化 - 加载中和错误状态处理 六、用户体验优化 - 加载中和错误状态处理(上) 六、用户体验优化 - 加载中和错误状态处理(中) 六、用户体验优化 - 加载中和错误状态处理(下) 七、Hook路由与 URL 状态管理 七、Hook路由与 URL 状态管理(上) 七、Hook路由与 URL 状态管理(中) 七、Hook路由与 URL 状态管理(下) 八、用户选择器与项目编辑功能 八、用户选择器与项目编辑功能(上) 八、用户选择器与项目编辑功能(下) 九、深入React 状态管理与Redux机制 九、深入React 状态管理与Redux机制(一) 九、深入React 状态管理与Redux机制(二) 九、深入React 状态管理与Redux机制(三) 九、深入React 状态管理与Redux机制(四) 九、深入React 状态管理与Redux机制(五) 十、用 react-query 获取数据管理缓存 十、用 react-query 获取数据管理缓存上 十、用 react-query 获取数据管理缓存下 十一、看板页面及任务组页面开发 十一、看板页面及任务组页面开发一 十一、看板页面及任务组页面开发二 十一、看板页面及任务组页面开发三 十一、看板页面及任务组页面开发四 十一、看板页面及任务组页面开发五 十一、看板页面及任务组页面开发六 十二、自动化测试 1.简介 目的 防止出现“新代码破坏旧代码”的无限循环让开发过程不再战战兢兢。 分类 单元测试传统单元测试、组件测试、hook测试 集成测试模块级别 e2e测试end页面级别 2.传统单元测试 之前初始化项目的时候默认安装了几个相关依赖 testing-library/jest-dom: ^5.16.5, testing-library/react: ^13.4.0, testing-library/user-event: ^13.5.0,再补充几个 npm i testing-library/react-hooks msw -D # --force单元测试需要隔离环境因此需要使用 msw 做 mock 使用 接下来写一个单元测试 新建 src\__tests__\http.ts用来测试 src\utils\http.ts import { setupServer } from msw/node; import { rest } from msw; import { http } from utils/http;const apiUrl process.env.REACT_APP_API_URL;const server setupServer();// jest 是对react最友好的一个测试库 // beforeAll 代表执行所有的测试之前先来执行一下回调函数 beforeAll(() server.listen());// 每一个测试跑完以后都重置mock路由 afterEach(() server.resetHandlers());// 所有的测试跑完后关闭mock路由 afterAll(() server.close());test(http方法发送异步请求, async () {const endpoint test-endpoint;const mockResult { mockValue: mock };server.use(rest.get(${apiUrl}/${endpoint}, (req, res, ctx) res(ctx.json(mockResult))));const result await http(endpoint);expect(result).toEqual(mockResult); });test(http请求时会在header里带上token, async () {const token FAKE_TOKEN;const endpoint test-endpoint;const mockResult { mockValue: mock };let request: any;server.use(rest.get(${apiUrl}/${endpoint}, async (req, res, ctx) {request req;return res(ctx.json(mockResult));}));await http(endpoint, { token });expect(request.headers.get(Authorization)).toBe(Bearer ${token}); });执行 npm run test, 启动单元测试, 执行结果如下 PASS src/__tests__/http.ts (5.495 s)√ http方法发送异步请求 (57 ms)√ http请求时会在header里带上token (7 ms)Test Suites: 1 passed, 1 total Tests: 2 passed, 2 total Snapshots: 0 total Time: 7.61 s Ran all test suites related to changed files.Watch Usage: Press w to show more.3.自动化测试 hook 新建 src\__tests__\use-async.ts import { useAsync } from utils/use-async; import { act, renderHook } from testing-library/react-hooks;const defaultState: ReturnTypetypeof useAsync {stat: idle,data: null,error: null,isIdle: true,isLoading: false,isError: false,isSuccess: false,run: expect.any(Function),setData: expect.any(Function),setError: expect.any(Function),retry: expect.any(Function), };const loadingState: ReturnTypetypeof useAsync {...defaultState,stat: loading,isIdle: false,isLoading: true, };const successState: ReturnTypetypeof useAsync {...defaultState,stat: success,isIdle: false,isSuccess: true, };test(useAsync 可以异步处理, async () {let resolve: any, reject;const promise new Promise((res, rej) {resolve res;reject rej;});const { result } renderHook(() useAsync());expect(result.current).toEqual(defaultState);let p: Promiseany;act(() {p result.current.run(promise);});expect(result.current).toEqual(loadingState);const resolvedValue { mockedValue: resolved };await act(async () {resolve(resolvedValue);await p;});expect(result.current).toEqual({...successState,data: resolvedValue,}); });4.自动化测试组件 新建 src\__tests__\mark.tsx: import React from react; import { render, screen } from testing-library/react; import { Mark } from components/mark;test(Mark 组件正确高亮关键词, () {const name 物料管理;const keyword 管理;render(Mark name{name} keyword{keyword} /);expect(screen.getByText(keyword)).toBeInTheDocument();expect(screen.getByText(keyword)).toHaveStyle(color: #257AFD);expect(screen.getByText(物料)).not.toHaveStyle(color: #257AFD); });部分引用笔记还在草稿阶段敬请期待。。。
http://www.w-s-a.com/news/84680/

相关文章:

  • 广州移动 网站设计中国交通建设监理协网站
  • 甘肃省第八建设集团公司网站wordpress topnews
  • 公司网站建设维保协议wordpress会员可看
  • 合肥百度网站排名优化深圳集团网站开发公司
  • 可以直接打开网站的方法手机回收站
  • 山西免费网站制作中天建设集团有限公司第九建设公司
  • 好的网站有哪些企业微信开发者工具
  • 网站通栏代码老外做的中国汉字网站
  • 东莞公司建站哪个更便宜wordpress宝塔伪静态
  • 六安网站建设价格做网站好吗
  • 中小企业网站建设咨询湖南省邵阳建设局网站
  • 分类网站一天做几条合适南安网络推广
  • 案例学 网页设计与网站建设百度竞价关键词出价技巧
  • 做公司网站要那些资料南雄网站建设
  • 自己做的网站发布到网上视频播放不了网页游戏奥奇传说
  • 网站效果用什么软件做品牌网站建设等高端服务
  • 四川省成华区建设局网站网站专业制作
  • 网站建设如何开票网站后台怎么做超链接
  • 教育网站设计方案建设网站技术公司电话号码
  • 建网站要定制还是第三方系统传奇网站模板psd
  • 免费搭建企业网站什么叫网站定位
  • 网站建设cms程序员培训班
  • 网站seo技术wordpress editor ios
  • 红酒网站设计成立公司需要哪些手续
  • 广州做网站哪个好网站建网站建设网站站网站
  • 如何快速提升网站pr短剧个人主页简介模板
  • 上海网站建设 永灿百度权重3的网站值多少
  • 公司展示网站模板模板工
  • 网站建设收费详情舟山公司做网站
  • 深圳宝安区住房和建设局网站html模板大全