当前位置:首页 > 技术分析 > 正文内容

[初探] React+Vite4创建项目模板(react vigil)

ruisui884个月前 (02-03)技术分析23

#头条创作挑战赛#

最近一直在学习react结合vite构建项目模板。

目前react稳定版本为18.2.0。官方推荐了好几种创建react项目方法,都试了一下,构建速度慢,而且还有一些异常警告信息。

于是想到了比较热门的vite构建工具,vite不仅仅可以构建vue3项目,还能构建react、svelte等其它前端项目。

# 使用vite构建工具创建项目
yarn create vite vite-react

# 选择react模板

# 进入项目文件夹
cd vite-react

# 安装依赖
yarn

# 运行
yarn dev

react路由使用的是react-router-dom,目前已经升级到了v6。

https://reactrouter.com/en/main

经过一番对比之后,react状态管理选择了Zustand。用法一些类似Vue3状态管理工具Pinia。

https://docs.pmnd.rs/zustand/getting-started/introduction

另外Zustand还内置了persist本地持久化存储功能。

import { create } from 'zustand'
import { persist, createJSONStorage } from 'zustand/middleware'

export const useAuthStore = create(
	persist(
		(set, get) => ({
			isLogged: false,
			token: null,
			setUserInfo: (data) => set({isLogged: data.isLogged, token: data.token})
		}),
		{
			name: 'authStore',
			// name: 'food-storage', // name of the item in the storage (must be unique)
			// storage: createJSONStorage(() => sessionStorage), // (optional) by default, 'localStorage' is used
		}
	)
)

package.json

{
  "name": "vite-react",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "lint": "eslint src --ext js,jsx --report-unused-disable-directives --max-warnings 0",
    "preview": "vite preview"
  },
  "dependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-router-dom": "^6.14.2",
    "zustand": "^4.3.9"
  },
  "devDependencies": {
    "@types/react": "^18.2.14",
    "@types/react-dom": "^18.2.6",
    "@vitejs/plugin-react": "^4.0.1",
    "eslint": "^8.44.0",
    "eslint-plugin-react": "^7.32.2",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-refresh": "^0.4.1",
    "vite": "^4.4.0"
  }
}

这次学习主要是想了解以下知识点。

  • 学习React Hook相关 Api
  • 掌握Vite4插件机制、构建配置
  • 学习 Ract-router-dom v6新特性

好了,今天的分享就到这里吧。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/879.html

标签: vite.js
分享给朋友:

“[初探] React+Vite4创建项目模板(react vigil)” 的相关文章

面试官:聊聊你知道的Vue与React的区别

最近面到很多大公司的时候,小编都会碰到一个很尴尬的问题,很多大公司的技术栈都是React,但是小编学的是Vue,其实从本质上来说两者都是比较优秀的前端框架,所以有些面试官会问到Vue和React的区别。小编认真整理了一些自己所知道的Vue和React的区别,给大家分享分享。1. 模板语法 vs JS...

一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问

问题现象7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同样的堆内存配置,它们内存占用约70%~79%,此服务比其它服务内存占用稍大。那为什么此服务内存占用稍大...

Vue学习笔记之动态路由的参数传递应用及技巧

路由的参数传递:①通过params的类型· 配置路由格式:/router/:id· 传递的方式:在path后面跟上对应的值· 传递后形成的路径:/router/list,/router/profile这个就是前两篇中提到的"动态路由"中有应用过这个方法:②通过query的类型(对象方...

Vue进阶(二十六):详解router.push()

在Vue2.0路由跳转中,除了使用 <router-link> 声明式创建 a 标签来定义导航链接,还可以借助 router 的实例方法,通过编码式编写代码来实现。router.push(location)想要导航到不同的 URL,则使用 router.push 方法。这个方法会向 hi...

微信小程序发展越来越快,Flutter应用开发越来越低效?

目前的疑惑微信小程序发展的越来越快,目前小程序甚至取代了大部分 App 的生态位,公司的坑位不增反降,只能让原生应用开发兼顾或换岗进行小程序的开发。以我的实际情况来讲,公司应用采用的 Flutter 框架,同样的功能不可避免的就会存在 Flutter 应用开发和微信小程序开发兼顾的情况,这种重复造轮...

一篇文章说清 webpack、vite、vue-cli、create-vue 的区别

webpack、vite、vue-cli、create-vue 这些都是什么?看着有点晕,不要怕,我们一起来分辨一下。先看这个表格:脚手架vue-clicreate-vue构建项目vite打包代码webpackrollup脚手架:创建项目,选择性安装需要的插件,指定统一的风格,生成demo。构建项目...