杂记react

关于 expo 和 React Native

expo 官网 https://expo.dev/ https://github.com/expo/expo 用于简便移动端开发 快速创建项目 npx create-expo-app my-app . ├── App.js ├── app.json ├── assets ├── babel.conf ......
Native React expo

React Native UI Thread && Main Thread

UI Thread 负责用户界面的主要线程,用于处理用户界面的渲染、交互和更新。 如果在 UI 线程上执行耗时的操作,可能会导致界面卡顿,用户体验下降。 Main Thread 应用程序的主要执行线程,负责处理应用程序的主要逻辑、启动和管理应用。 在 React Native 中,UI 线程和主线程 ......
Thread amp Native React Main

React Native FlatList 的 refreshControl 属性

用于下拉刷新,example => https://github.com/zjy4fun/rn-FlatList-refreshControl import React, {useEffect, useState} from 'react'; import {FlatList, RefreshCon ......
refreshControl FlatList 属性 Native React

React Native View 组件的 onLayout 回调函数

View 的布局发生改变的时候会触发 onLayout 函数,可以在布局发生变化的时候执行一些自定义操作,或者动态调整 UI 元素的样式和布局。 import React, { Component } from 'react'; import { View, Text } from 'react-n ......
函数 组件 onLayout Native React

React 随记

React 没有响应式的概念 useState 的两个功能 提供更新函数 缓存变量 数组或对象必须整体更新 immutable mutable 两个优点useRef 的更新函数不会导致视图刷新 普通变量也可以在视图中显示 但是不会被监听状态的定义需要反向排除考虑 并不是所有视图的需要的数据就定义为状 ......
随记 React

React报错:Warning: Invalid hook call. Hooks can only called inside of the body of a function component. This could happen for one of the following reasons: .......

报错截图: 问题可能原因: 我之前是用 npm install,后面有些依赖用的是 cnpm install 解决方法: 用统一的安装方式 删除 node_modules,重新执行 cnpm install 我这里解决问题 ......
component following the function of

react 中国地图

import React, { useEffect, useState, useRef } from "react"; import * as echarts from 'echarts/core' import ReactEchartsCore from 'echarts-for-react/li ......
中国地图 地图 react

react使用antd Table单元格中文字超出时省略

实现效果 使用antd中的Table,设置固定列宽,当文字超出时省略,先看实现效果: 部分代码 使用ellipsis进行省略,使用Tooltip(引入自antd)展示全部的内容。 const TABLE_COL_WIDTH = 200; const columns = [ { title: '项目名 ......
单元 文字 react Table antd

react+antd 需求demo实现

BoxSelectionComponent.tsx import React, { useState } from 'react'; import { Modal, Button, Table, message } from 'antd'; const BoxSelectionComponent: ......
需求 react antd demo

React Native package.json 控制App的版本号

原文:https://blog.csdn.net/gu1920948999/article/details/117984844 package.json "version": "1.0.0", android配置 android/app/build.gradle import groovy.json ......
package 版本 Native React json

react-native解决ios无法请求http问题

添加如下行信息: ......
react-native native 问题 react http

react-native 在ios中使用react-native-vector-icons图标

github 地址:https://github.com/oblador/react-native-vector-icons 1.引入 npm install --save react-native-vector-icons ios项目引入 进入node_modules/react-native-v ......

平时的杂记

IO 多路复用是什么?有哪些 api? 首先需要明确的是,linux有五类io模型 1.阻塞 2.非阻塞 3.io多路复用 4.事件驱动 5.异步 (ps:这里需要的点是:io多路复用和非阻塞是并列的关系哦~,不过一般来说io多路复用都是和非阻塞搭配使用的。) 最容易理解的是阻塞。一次网络io时,C ......
杂记

react-native中嵌套的WebView发版后未更新问题

问题 使用了react-native-webview的WebView嵌套h5页面,但是当h5发版之后,重新打开app,h5还是发版前的页面。 并且这个缓存严重,每次都要清理缓存或者重装app,页面不能及时更新,影响用户体验。 解决 rn项目中,在h5链接后边拼接时间戳,代码如下: 注意:这里缓存使用 ......
react-native WebView native 问题 react

React-native ios运行报错 No bundle URL present

新建项目报错如下: 需要手动生成ios下的main.jsbundle文件 解决方法: 1、生成main.jsbundle文件,在终端项目目录下执行: react-nativebundle--entry-file index.js--bundle-output./ios/main.jsbundle-- ......
React-native present native bundle React

react_hooks系列 useCallback,高阶函数memo

react_hooks的useCallback,高阶函数memo一、概念和作用1、memo高阶函数:memo解决的是函数式组件的无效渲染问题,当函数式组件重新渲染时,会先判断数据是否发生了变化。相当于类组件的PureComponent(默认提供ShouldComponentUpdate) 2、use ......
高阶 react_hooks useCallback 函数 react

React Hooks 钩子特性

人在身处逆境时,适应环境的能力实在惊人。人可以忍受不幸,也可以战胜不幸,因为人有着惊人的潜力,只要立志发挥它,就一定能渡过难关。 Hooks 是 React 16.8 的新增特性。它可以让你在不编写 class 组件的情况下使用 state 以及其他的 React 特性。 React Hooks 表 ......
钩子 特性 React Hooks

React 逃离闭包陷阱

众所周知,JavaScript 中的闭包(Closures)一定是这种语言最可怕的特性之一,即使是无所不知的 ChatGPT 也是这样说的。另外它可能也是最隐蔽的语言特性之一,我们在编写 React 代码时经常会用到它,但是大多数时候我们甚至没有意识到这一点。但是,我们终究还是离不开它:如果我们想编 ......
闭包 陷阱 React

react设置多个className

react设置多个className 在一个元素上设置样式,有一个固定的样式,然后还有一个使用三元运算符根据条件添加的样式。 1 2 3 4 5 6 比如说有一个固定样式"title": <div className="title">标题</div>, 然后还要一个点击高亮的样式: <div cla ......
className 多个 react

react_hooks系列 useEffect

一、作用​ 可以使得你在函数组件中执行一些带有副作用的方法。 ​ 每当 React组件更新之后,就会触发 useEffect,在第一次的render 和每次 update 后的useEffect触发,不用再去考虑“初次挂载”还是“更新”。React 保证了每次运行 effect 的同时,DOM 都已 ......
react_hooks useEffect react hooks

react_hooks系列 useState

一、作用: useState让函数式组件也可以处理状态。 二、格式: 1、定义状态: const [状态名,更新状态的函数] = React.useState(初始值|函数); ​ 如: 1)、基本类型的状态 声明一个新的叫做 “count” 的 state 变量,初始值为0 。 ​ const [ ......
react_hooks useState react hooks

react-query使用

usequery const { isPending,isLoading, error, data } = useQuery({ //返回当前请求的状态,错误信息,以及返回的数据 queryKey: ['repoData'], //【必填】,自定义查询的键,类型为数组,也可以存放变量,[repoDa ......
react-query react query

React 之 react-router-dom

1、项目初始化 创建项目 npx create-react-app react-router 安装 react-router-dom npm i react-router-dom 2、快速体验 index.js import React from 'react'; import ReactDOM f ......
react-router-dom router React react dom

记 redux react-redux 使用

1、项目准备 创建项目 npx create-react-app 项目名称 安装 redux npm install --save redux 安装 react-redux npm install --save react-redux 2、示例: Todo 列表 入口文件 index.js impo ......
redux react-redux react

记 react-redux redux-toolkit

1、安装 npm install @reduxjs/toolkit react-redux 2、使用 2.1 创建一个 Redux Store app/store.js import { configureStore } from '@reduxjs/toolkit' export const st ......

React diff 算法详解

代码参照 React 16.13.1 什么是 Diff 在render阶段的beginWork函数中,会将上次更新产生的 Fiber 节点与本次更新的 JSX 对象(对应ClassComponent的this.render方法返回值,或者FunctionComponent执行的返回值)进行比较。根据 ......
算法 React diff

React 组件生命周期

求上进的人,不要总想着靠谁,人都是自私的,自己才是最靠得住的人。 React 中生命周期划时代几个节点,React 16.2 之前处于老的生命周期,之后提出了新的生命周期。而函数式组件在 React 16.8 之前是没有状态和生命周期的,在 React 16.8 版本通过引入 Hooks 使得函数式 ......
组件 周期 生命 React

react antd table react-sortable-hoc DraggableBodyRow 拖拽及禁用指定行拖拽

原文地址:基于antd树形表格table的拖拽排序效果实现 - 掘金 (juejin.cn)思路片段: const DraggableBodyRow: React.FC<any> = ({ className, style, ...restProps }) => { const index = cu ......

react 僵尸孩子问题

React Zombie Child 是指在 React 组件中的一个常见问题。当一个父组件被销毁时,它的子组件可能仍然存在于内存中,这些子组件被称为“僵尸子组件”。 这种情况通常发生在异步操作中,例如在父组件中发起了一个异步请求,而在请求完成之前,父组件被销毁了。但是,由于异步请求的回调函数仍然存 ......
僵尸 孩子 问题 react

React 中虚拟DOM是什么,为什么需要它?

注意:本节主要讲React中的虚拟DOM,但是虚拟DOM并不是React中特有的内容。 1. React 中虚拟 DOM是什么? 虚拟DOM是对真实DOM的描述,虚拟DOM是JS对象,实际上就是 JSX 通过 babel 转换成 React.createElement(),然后这个函数执行后变成的 ......
React DOM