todolist react

react ref

一、使用 ref 操作 DOM 1、要访问由 React 管理的 DOM 节点,首先,引入 useRef Hook: import { useRef } from 'react'; 2、然后,在你的组件中使用它声明一个 ref: const myRef = useRef(null); 3、最后,将其 ......
react ref

什么是 React Functional Components? 函数式组件?

函数式组件与类组件(Functional Components vs Class Component) 函数式组件只是一个普通 JavaScript 函数,它返回 JSX 对象。 类组件是一个 JavaScript 类,它继承了 React.Component 类,并拥有 render() 方法。 ......
Functional Components 函数 组件 React

react 虚拟DOM的原理

1、虚拟DOM,就是虚拟节点,通过用一个JS对象表示真实DOM树结构,这个对象就包括标签名,属性,子节点等。然后将其渲染成真是的DOM节点。 2、第一步是模拟,用 JSX 语法写出来的元素其实是一个虚拟节点 <div id='a'> <span class='b'>test</span> </div ......
原理 react DOM

电子表格 VS 数据网格,你的React应用程序应该怎么选?

电子表格和数据网格:乍一看他们似乎是可互换的组件,由于两者都是用表格显示来格式化大量数据,因此很难知道应该为React应用程序选择哪个选项。 尽管它们的外观相似,但提供了非常不同的功能——选择错误的一个将对用户体验产生负面影响,了解两者之间的差异,以及它们最能解决哪些问题,将帮助您为React应用程 ......
网格 应用程序 表格 程序 数据

React框架使用

一:使用Vite创建React项目 二:React中组件使用 import React, { Component, useState } from "react"; //使用class定义组件 export default class Modet extends Component<any,any> ......
框架 React

React Native Expo 热更新

以前都是expo publish 推送到我的expo进行调试的,今天在vscode的那个页面输入这个命令,竟然发现我手机上打包的app竟然热更新了?!!! 我没有下载apk,安装啥的,里面的内容竟然热更新了?!!!,厉害啊,我滴哥,expo太强了 ......
Native React Expo

JavaScript 发布-订阅设计模式实现 React EventBus(相当于vue的$Bus)非父子之间通信

提前声明: 我没有对传入的参数进行及时判断而规避错误,仅仅对核心方法进行了实现; 解决了react的非父子间的通信; 参考文档:https://github1s.com/browserify/events/blob/main/events.js https://www.npmjs.com/packa ......

React 组件进入和退出动画实现

实现了React中组件的进入和退出动画效果,主要是通过props给组件传参来决定进入和退出,然后根据props选择不同的animation class,并将组件停留在动画的结束阶段。 ......
组件 动画 React

React中图片的相对路径引入和绝对路径引入

React中当在JSX中的img标签中引入时使用相对路径引入,地址是基于index.html的而不是当前jsx文件的,如 <img src="./src/assets/images/google.png"> 此种方式的src是固定的字符串,当进行webpack打包时可能会出现路径问题,不推荐 使用J ......
路径 图片 React

React redux toolkit: Uncaught Error:[Immer] An immer producer returned a new...

React在写一个购物车的redux toolkit时遇到了问题。核心问题是reducer中不能既修改state,又return新值。修改后代码正常运行。 ......
Uncaught producer returned toolkit React

react的思想和数据流

最近忙着写前端界面,粗略讨论以下 react 的函数式编程思想和组件通信的应对思路。 纯函数和副作用 函数式编程中函数是一等公民。一个函数的返回值只取决于输入参数时,那么这个函数的行为是确定的,我们称之为纯函数。那么反过来,如果函数的输入参数相同,而返回值不确定,那么该函数就是有副作用的,是不纯的。 ......
数据流 思想 数据 react

完整实现React day09

实现第一个测试工具test-utils 实现测试环境 实现ReactElement用例 实现测试环境 pnpm i -D -w jest jest-config jest-environment-jsdom 配置: const { defaults } = require('jest-config' ......
React day 09

React onBlur回调中使用document.activeElement返回body解决方案

最开始想实现一个功能,点击img图标后给出购物下拉框CartDropdown,当img及CartDropdown失去焦点时隐藏CartDropdown。 最开始的核心代码如下: export default function Cart() { const [isCartOpen, setIsCart ......

10分钟理解React生命周期

前言 学习React,生命周期很重要,我们了解完生命周期的各个组件,对写高性能组件会有很大的帮助. 一、简介 React /riˈækt/ 组件的生命周期指的是组件从创建到销毁过程中所经历的一系列方法调用。这些方法可以让我们在不同的时刻执行特定的代码,以满足组件的需求。 React 的生命周期可以分 ......
周期 生命 React

day09 react完整手写

实现Hooks的数据结构 fiberNode中可用的字段: memoizedState updateQueue 实现useState 包括2方面工作: 实现mount时useState的实现 实现dispatch方法,并接入现有更新流程内 ......
react day 09

构建React-app应用时create-react-app卡住超慢的解决办法

解决方案是换源,这个解决方法是从网上找到的,特此整理过来收藏一下。虽然平常使用cnpm来代替npm,但也只是使用新的指令而已。而在寻求create-react-app的相关配置希望修改registry时失败了,最后发现create-react-app指令默认调用npm,于是直接把npm的regist ......
create-react-app React-app app 办法 create

论Vue和React的不同之处

论Vue和React的不同之处 Vue 和 React 都是用于构建 UI 界面的流行框架。 它们的哲学也有很多相似的地方,我们可以认为这些特性是流行前端框架的一个趋势。它们是: 组件化。将结构、样式、脚本进行耦合,让界面一部分区域能够独立出来,并可以提供复用; 声明式。摒弃了 JQuery 那种手 ......
React Vue

React-DnD的简要使用方法与API文档

前提 它这个官方文档贼难进去,而且第一次看的时候也不太好理解,这篇文章就把一些常用的内容记下,希望能帮助到大家。本篇文章参考的是16.0.1版本 npm i react-dnd 1 简单示例 先不说具体API,来看下常用示例~ 1.1 useDrag:让DOM允许拖拽 import React fr ......
简要 使用方法 React-DnD 文档 方法

React 08 day

react内部3个阶段: schedule阶段 render阶段(beginWork completeWork) commit阶段(commitWork) commit阶段的3个子阶段 beforeMutation阶段 mutation阶段 layout阶段 当前commit阶段要执行的任务: fi ......
React day 08

关于react的Tabs组件中TabPane的bug

今天解决了我自认为一个很不起眼的Bug。 我的Tabs下面有5个tabPane,并且这几个tabPane共用了一个search组件,今天遇到了一个bug,就是这几个组件使用公共查找组件的时候,前一个组件的值会影响下一个组件的值。 找了半天发现,原来我应该在父组件Tabs中定义一个useState的状 ......
组件 TabPane react Tabs bug

React 使用NPM创建项目

React 使用NPM创建项目 虽然研究 React 已经有一段时间,但之前写 Demo 都是直接新建文件夹然后在里面写 html 和 js,究其原因还是因为之前用不了 NPM。现在终于是把 NPM 的问题解决了(从 IDEA 上 copy 了个代理的地址),这下才能算是真正的 DEV 环境。 但有 ......
项目 React NPM

React国际化方案及示例

​背景: 随着公司走向国际,那么需要对产品进行国际化语言的预言处理。该预言方案主要是为了满足跨国企业和全球用户的需求而设计的。随着公司步入国际领域,该方案将有助于提高公司的国际化水平和竞争力。在国际化项目中,需要考虑不同语言、文化和地区的用户习惯和需求,确保产品的功能和内容能够在全球范围内无缝运作和 ......
示例 方案 国际 React

Flutter/React native/un-app

Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。 [5] Flutter 开源、免费,拥有宽松的开源协议,适合商业项目。 Flutter可以方便的加入现有的工程中。在全世界,Flutter 正在被越来越 ......
Flutter native un-app React app

React props.children

React props.children React 的特性,或者说 JS 的特性都太抽象勒。 无法理解 在看 React 文档的时候,以我当时的水平,看到了这个令人费解的东西: function AlertButton({ message, children }) { return ( <butt ......
children React props

组件公共状态管理react-redux

知乎日报项目中,公共状态使用了 redux 和 react-redux,记录学习的知识 redux 工程化其实就是按模块划分,在开发中能更好的理解和维护,因此该项目将状态管理划分为如下的模块: store 用作存放状态管理的文件夹 action 是 store 中数据的来源,actions 文件夹用 ......
react-redux 组件 状态 react redux

如何在2023年学习React

在2023年学习React并不是一件容易的事情。自2019年React Hooks发布以来,我们已经拥有了很多稳定性,但现在形势正在再次变化。而这次变化可能比使用React Hooks时更加不稳定。在本文中,我想比较两种学习React的方式:以库的方式和以框架的方式。 为了让事情更加清晰:React ......
React 2023

第三节:react脚手架的使用及类组件、函数组件、生命周期、组件嵌套

一. 二. 三. ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 : http://www.cnblogs.com/yaopengfei/ 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权 ......
组件 脚手架 函数 周期 生命

2023-04-11 使用react-draft-wysiwyg插件进行图片插入后编写文字时抛出错误:Unknown DraftEntity key: null.

前言:react+antd+react-draft-wysiwyg文本编辑业务场景,当我点击插入图片时,在该图片上一行或下一行进行文字输入会报如下错误: 报错:Unknown DraftEntity key: null.未知的DraftEntity key:null。 原因:当你插入图片时,新的图片 ......

React+Antd在使用form表单提交DatePicker日期框的时候会出现少八小时的情况

在使用antd做form表单提交的时候,突然发现了一个很有意思的bug.就是在使用datepicker组件日期框的时候会出现提交后少一天的问题 我在网上搜索了许多解决办法,也是困扰了我一天的时间,下面代码. let formData = JSON.parse(JSON.stringify(form. ......
表单 DatePicker 日期 小时 时候

react useMemo

useMemo 是 React 提供的一个用于优化组件性能的钩子函数。它可以缓存组件的计算结果,并在依赖项发生变化时重新计算。这可以避免在每次组件渲染时都重新计算相同的值,从而提高组件的性能。 useMemo 的语法如下: const memoizedValue = useMemo(() => co ......
useMemo react