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

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

ruisui883个月前 (02-03)技术分析17

#头条创作挑战赛#

最近一直在学习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)” 的相关文章

最古老的Linux发行版刚刚进行了重大更新

Slackware 15.0 带来了全新的 KDE Plasma 5 桌面体验。Slackware Linux(仍然维护的最古老的Linux发行版)的制造商刚刚发布了Linux发行版的15.0版本。Slackware Linux于1993年出现,创始人Patrick Volderding今天继续维护...

vue中组件之间的通信方式

** 1.1 父子组件**a. 父向子传数据: 第1种: 父通过属性传值,子组件通过props接收数据(注:props传过来的数据是单向的,不可以进行修改)第2种:子组件可以通过$parent来获取父组件里的数据和调用父组件的方法(注:数据是双向的,还要注意如用了UI组件并且在该UI组件里重新定义一...

关于Vue页面跳转传参,参数不同, 但页面只获取参数一次的问题

#头条创作挑战赛#1.问题描述问题描述: element 展示表格(页面A),点击表格的每一行的查看详情按钮,可以携带此行的信息参数跳转到另一个页面(页面B),但是从A页面到B页面,只有第一次跳转的时候B页面可以获取到A页面的参数,返回再次A->B ,B页面无法获取到参数。2.解决办法:方法一...

史上最全 vue-router 讲解 !!!

前端路由 前端路由是后来发展到SPA(单页应用)时才出现的概念。 SPA 就是一个WEB项目只有一个 HTML 页面,一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转。 前端路由在SPA项目中是必不可少的,页面的跳转、刷新都与路由有关,通过不同的url显示相应的页面。 优点:前...

深入理解vue-router原理

说到vue-router就表明他只适合于vue和vue是强绑定的关系;不适合其他框架;现在我们模仿实现一个VueRouter;1.要使页面刷新;借助vue本身的响应式原理;import Home from "./views/Home"; import About from "...

vue开发微信小程序 - 登录组件

移动端登录功能抽象为通用组件,满足:不同移动端应用中一键登录功能复用支持多种登录:微信登录、H5、QQ登录登录组件使用//引用登录组件 import login from "../components/user/login.vue" export default { compone...