react

React-router v6 路由总结

React-router v6 路由总结 组件 BrowserRouter:整个前端路由以 history 模式开始,包裹根组件 HashRouter:整个前端路由以 hash 模式开始,包裹根组件 Routes:类似于 v5 版本的 Switch,主要是提供一个上下文环境 Route:在 Rout ......
路由 React-router router React v6

react-text-loop-next

react-text-loop-next An animated loop of text nodes for your headings. Uses react-motion for the transition so it handles super fast animations and sp ......
react-text-loop-next react loop next text

React学习笔记(四)—— 组件通信与状态管理、Hooks、Redux、Mobe

react管理状态的工具: 1、利用hooks进行状态管理; 2、利用Redux进行状态管理,这种方式的配套工具比较齐全,可以自定义各种中间件; 3、利用Mobx进行状态管理,它通过透明的函数响应式编程使得状态管理变得简单和可扩展。 2013 年 5 月 React 诞生。但 2015 年之前,大概 ......
组件 状态 笔记 React Hooks

React Native 快速上手

react native 储备知识 扎实的JS基础+React相关知识 核心组件 创建项目: npm uninstall -g react-native-cli @react-native-community/cli npx react-native init AwesomeProject 使用示例 ......
Native React

React - shouldComponentUpdate细化无效更新

import React, { Component } from 'react' import ReactDOM from 'react-dom/client' import { nanoid } from 'nanoid' const root = ReactDOM.createRoot(docu ......
shouldComponentUpdate React

react usePersistFn

import {useRef,} from 'react';function usePersistFn(fn) { const fnRef = useRef(fn); fnRef.current = fn; const persistFn = useRef(); if (!persistFn.cur ......
usePersistFn react

React 的学习笔记一 (未完结)

一、React 是什么 React 是一个声明式,高效且灵活的用于构建用户界面的 JavaScript 库。使用 React 可以将一些简短、独立的代码片段组合成复杂的 UI 界面,这些代码片段被称作“组件”。 1.1、React的优点 采用组件化模式,声明式编程( react是面向数据编程,不需要 ......
笔记 React

Argon creative-tim UI with create-react-native-app

React Native Elements开发环境 & 生成项目 & 虚拟机调试 & 本地生成APK档 & 虚拟机运行APK档 1.0 Argon creative-tim UI https://demos.creative-tim.com/argon-pro-react-native/?_ga=2 ......

Flutter、UniApp、Taro和 React Native 对比分析

Flutter、UniApp 和 React Native 都是现代的跨平台移动应用开发框架,它们都有自己的优势和适用场景。以下是它们的对比分析: Flutter Flutter 是一个由 Google 推出的移动应用开发框架,使用 Dart 语言编写。Flutter 具有高度的可定制性和丰富的 U ......
Flutter UniApp Native React Taro

react学习笔记

https://www.bilibili.com/video/BV1jg4y1x7yD/?spm_id_from=333.337.search-card.all.click&vd_source=caabcbd2a759a67e2a3de8acbaaf08ea ......
笔记 react

React 防抖(Debounce)Hook

防抖动 (debounce)是常见的需求,那么如何搭配 React Hooks 实现防抖动呢,下面演示两种方案。 方案一 副作用防抖 /** * * @param {React.EffectCallback} fn * @param {React.DependencyList} deps * @pa ......
Debounce React Hook

react+echarts出现“There is a chart instance already initialized on the dom.”

写了一个关于echatrs组件,报错dom重复 配置信息从props拿 let chart; useEffect(() => { if (chart) { updateChartView(); }else{ chart = echarts.init(dom.current) updateChartV ......
initialized instance echarts already react

react循环与条件判断

react没有语法糖,循环和条件判断都是通过原生js来实现 1. 条件判断 // 三元表达式 const getDiv = (flag)=>{ return ( <div>XXX</div> {flag?<div>条件1</div>:<div>条件2</div>} ) } ... // if判断 c ......
条件 react

vue/react关与key的面试题

虚拟dom中key的作用 当状态中的数据发生改变时,react会根据新数据生成新的虚拟dom,随后react进行新虚拟dom与旧虚拟dom的diff算法比较,比较规则如下: 1.旧虚拟dom找到了与新虚拟dom相同的key a.若虚拟dom中的内容没变,则使用之前的真实dom b.若虚拟dom中的内 ......
react vue key

【笔记】electron + react + antd

electron Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Li ......
electron 笔记 react antd

React 限制 Props 和 State 类型

下面是 Component 的接口,P 代表 Props、S 代表 State。 interface Component<P = {}, S = {}, SS = any> extends ComponentLifecycle<P, S, SS> { } 所以,在 tsx 中写两个类型进行约束就可以 ......
类型 React Props State

react项目中聊天界面新增对话自动滚动到底部

class组件写法1 class Messages extends React.Component { const messagesEndRef = React.createRef() componentDidMount () { this.scrollToBottom() } componentD ......
界面 项目 react

react的diff算法

diff策略 React用 三大策略 将O(n^3)复杂度 转化为 O(n)复杂度 策略一(tree diff): Web UI中DOM节点跨层级的移动操作特别少,可以忽略不计。 策略二(component diff): 拥有相同类的两个组件 生成相似的树形结构, 拥有不同类的两个组件 生成不同的树 ......
算法 react diff

2023 年最新最全的 React 面试题

React 作为前端使用最多的框架,必然是面试的重点。我们接下来主要从 React 的使用方式、源码层面和周边生态(如 redux, react-router 等)等几个方便来进行总结。 1. 使用方式上 这里主要考察的是,在开发使用过程中,对 React 框架的了解,如 hook 的不同调用方式得 ......
React 2023

monorepo实践:yarn workspace + vite + typescript + react

前言 最近需要用到多包管理 monorepo 开发新项目,所以提前预研一下项目搭建。 monorepo(monolithic repository)是一种项目架构,就是用一个仓库管理多个项目(应用,库),react和babel的源码仓库都是用这种方式在管理。 优缺点略过,可以参考:精读《Monore ......
typescript workspace monorepo react yarn

react 高效高质量搭建后台系统 系列 —— 结尾

其他章节请看: react 高效高质量搭建后台系统 系列 尾篇 本篇主要介绍表单查询、表单验证、通知(WebSocket)、自动构建。最后附上 myspug 项目源码。 项目最终效果: 表单查询 需求:给角色管理页面增加表格查询功能,通过输入角色名称,点击查询,从后端检索出相应的数据。 效果如下: ......
高质量 后台 系统 react

react 高效高质量搭建后台系统 系列 —— 前端权限

其他章节请看: react 高效高质量搭建后台系统 系列 权限 本系列已近尾声,权限是后台系统必不可少的一部分,本篇首先分析spug项目中权限的实现,最后在将权限加入到我们的项目中来。 spug 中权限的分析 权限示例 比如我要将应用发布模块的查看权限分给某用户(例如 pjl),可以这样操作: 在角 ......
前端 高质量 后台 权限 系统

Jest + React 单元测试最佳实践

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 前言 单元测试是一种用于测试“单元”的软件测试方法,其中“单元”的意思是指软件中各个独立的组件或模块。开发者需要为他们的代码编写测试用例以确保这些代码可以正常使用。 在 ......
单元 React Jest

react中redux怎么使用

一、redux是什么? redux 就是react 全局状态管理,作用是存放全局数据 二、核心 state:存放数据 reducer:修改仓库数据 是一个函数,参数一:仓库中的数据,参数2:行为 actions 返回值就是 最新的仓库数据 就是在reduce中定义的方法,修改数据,相当于mutati ......
react redux

React Native学习笔记----React Native简介与环境安装

React Native 的基础是React, 是在 web 端非常流行的开源 UI 框架。要想掌握 React Native,先了解 React 框架本身是非常有帮助的。 一、什么是React Native 1.1 React Native带来的惊喜 React Native 是一个使用JavaS ......
Native React 环境 笔记 简介

Vue/ React/ Angular 前端项目在 Web 服务器上的部署配置

Web 服务器是一种用于存储,处理和传输 Web 内容的软件。它是一种特殊类型的服务器,具有处理 HTTP 请求并向浏览器返回 Web 页面和其他内容的能力。Web服务器支持多种编程语言,如 PHP,JavaScript,Ruby,Python 等,并且支持动态生成 Web 页面。常见的 Web 服 ......
前端 Angular 服务器 项目 React

一文详解如何在基于webpack5的react项目中使用svg

本文主要讨论基于webpack5+TypeScript的React项目(cra、craco底层本质都是使用webpack,所以同理)在2023年的今天是如何在项目中使用svg资源的。 首先,假定您已经完成基于webpack5+TypeScript的React项目的搭建工作(如果您不太清楚搭建的背景, ......
webpack5 webpack 项目 react svg

玩转web3第一篇——web3-react

概况 web3-react是由Noah Zinsmeister开发的一个web3框架,主要功能是实时获取DApp里的关键数据(如用户当前连接的地址、网络、余额等)。 Noah也是著名的去中心化交易所uniswap里的工程师,因此这个库在uniswap里也已被大量的使用。 web3-react有两个版 ......
web3 web3-react web react

react 高效高质量搭建后台系统 系列 —— 系统布局

其他章节请看: react 高效高质量搭建后台系统 系列 系统布局 前面我们用脚手架搭建了项目,并实现了登录模块,登录模块所依赖的请求数据和antd(ui框架和样式)也已完成。 本篇将完成系统布局。比如导航区、头部区域、主体区域、页脚。 最终效果如下: spug 中系统布局的分析 spug 登录成功 ......
系统 高质量 布局 后台 react

react 高效高质量搭建后台系统 系列 —— 表格的封装

其他章节请看: react 高效高质量搭建后台系统 系列 表格 有一种页面在后台系统中比较常见:页面分上下两部分,上部分是 input、select、时间等查询项,下部分是查询项对应的表格数据。包含增删改查,例如点击新建进行新增操作。就像这样: 本篇将对 ant 的表格进行封装。效果如下: spug ......
高质量 表格 后台 系统 react