动画react fiber three

如何编写难以维护的 React 代码?耦合通用组件与业务逻辑

在众多项目中,React代码的维护经常变得棘手。其中一个常见问题是:将业务逻辑直接嵌入通用组件中,导致通用组件与业务逻辑紧密耦合,使其失去“通用性”。这种做法使通用组件过于依赖具体业务逻辑,导致代码难以维护和扩展。 示例:屎山是如何逐步堆积的 让我们看一个例子:我们在业务组件 PageA 和 Pag ......
组件 逻辑 代码 业务 React

【动画进阶】神奇的背景,生化危机4日食 Loading 动画还原

最近,在 Steam 玩一款老游戏(生化危机 4 重置版),其中,每当游戏转场的过程中,都有这么一个有趣的 Loading 动画: 整个效果有点类似于日食效果,中间一圈黑色,向外散发着太阳般的光芒。 本文,我们将尝试使用 CSS,还原这个效果。 整个效果做出来,类似于如下两个动画效果这样: 实现主体 ......
动画 日食 生化危机 危机 背景

如何使用webgl(three.js)实现煤矿隧道、井下人员定位、掘进面、纵采面可视化解决方案——第十九课(一)

three.js、webgl、3D煤矿隧道、三维井下人员定位、掘进面三维可视化、纵采面可视化、采集面可视化展示、设备检测、数字孪生、物联网3D、3d建筑、3d库房,bim管理系统 ......
隧道 煤矿 解决方案 人员 方案

react 页面如何自动监控版本更新

一般我们打包的js bundle,都自带了hash,所以,刷新页面就会加载最新的内容。 但如果用户一直不去刷新页面,停留在当前页面呢? 可以前端写个轮询,去检测,2. 后端推送 对于第一种方案实现简单,但会有一点性能损耗,第二种需要后端实现,SSE,或websocket? 下面代码展示第一种轮询方案 ......
版本 页面 react

vue3结合socket实现打字机动画

<template> <div> <div>ip地址:<input type="text" placeholder="ip地址" v-model="socketIP"></div> <br /> <div>端口号:<input type="text" placeholder="端口号" v-mode ......
打字机 动画 socket vue3 vue

React:组件的复用

1. render -props 参考代码: import React from 'react'; import ReactDOM from 'react-dom/client'; import PropTypes from 'prop-types' class App extends React. ......
组件 React

react18函数组件使用指南-使用代码集合以及报错记录汇总(不断更新中)

@目录1. react报错-Warning: Instance created by useForm is not connected to any Form element. Forget to pass form prop?问题分析解决方案如果是除了modal嵌套类型出现此种报错,我们可以设置如 ......
使用指南 函数 组件 不断 代码

React 大师版

第一部分 一、todoList案例相关知识点 1.拆分组件、实现静态组件,注意:className、style的写法 2.动态初始化列表,如何确定将数据放在哪个组件的state中? ——某个组件使用:放在其自身的state中 ——某些组件使用:放在他们共同的父组件state中(官方称此操作为:状态提 ......
大师 React

The Road to learn React

React基础 组件内部状态 组件内部状态也称之为局部状态,允许保存、修改和删除存储在组件内部的属性 使用ES6类组件可以在构造函数种初始化组件的状态,构造函数只会在组件初始化的时候调用一次 const list = [ { title: 'React', url: 'https://faceboo ......
React learn Road The to

在非React组件的文件中使用Reudx 会造成的问题及解决方案

Redux的使用场景 函数式组件内(hooks调用redux) 其他文件(无法使用hooks调用redux) 这里函数式组件内使用Redux不再赘述,站内跳转,Redux toolkit使用 一、非函数式组件的文件内使用redux useDispatch 和 useSelector 这两个hooks ......
组件 解决方案 文件 方案 问题

VS Code开发React-Native及Flutter 开启无线局域网安卓真机调试问题

VS Code开发React-Native及Flutter 开启无线局域网安卓真机调试问题 发布于 2020-10-20 15:48:47 1.7K0 举报 笔者前段时间在做react-native开发,一直是有线连接安卓真机进行调试的。有线调试确实带来诸多麻烦,因为在调试过程中需要频繁和手机进行交 ......
React-Native 局域网 局域 Flutter 无线

React in patterns

In brief > Foundation 1. Communication - Input - Output 2. Event handlers 3. Composition - Using React's children API - Passing a child as a prop - Hi ......
patterns React in

React 路由

React 路由 1.ReactRouter 5.x 功能概述:点击切换展示区内容,并切换浏览器地址 /about /home About 组件 import React, { Component } from 'react' export default class About extends C ......
路由 React

常见的 React 知识

......
常见 知识 React

webpack - 构建支持TypeScript的React应用

1. 初始化package.json 创建项目文件夹 mkdir webpack-react-ts cd webpack-react-ts 初始化项目package.json yarn init -y { "name": "webpack-react-ts", "version": "1.0.0", ......
TypeScript webpack React

eslint爱彼迎规范 React18+typescript

eslint终极规范 爱彼迎 eslint-config-airbnb 什么是eslint,为什么要使用eslint eslint 的配置项过多,针对js针对ts针对vue针对jsx、tsx等等不同的规则,小公司或者个人项目可以使用成熟的eslint社区规范,如airbnb、standard、goo ......
typescript eslint React 18

react17源码中部分二进制计算的解释

theme: qklhk-chocolate highlight: a11y-dark react17放弃了之前的expirationTime而启用了lane模型,故而在原来16的基础上又产生了更多的二进制运算,在接下来的一段时间我打算把这些二进制运算都整明白了、 关于react为什么会启用lane ......
二进制 源码 部分 react 17

超级实用!React-Router v6实现页面级按钮权限

大家好,我是王天~ 今天咱们用 reac+reactRouter来实现页面级的按钮权限功能。这篇文章分三部分,实现思路、代码实现、踩坑记录。 嫌啰嗦的朋友,直接拖到第二章节看代码哦。 前言 通常情况下,咱们为用户添加权限时,除了页面权限,还会细化到按钮级别,比如、新增、删除、查看等权限。 如下效果, ......
React-Router 按钮 权限 页面 Router

[官方培训]08-UE动画基础 戴浩军 Epic 笔记

UE动画基础 UE动画概述 UE动画功能强大,复杂,灵活 不同类型项目对动画系统应用范围各不相同 “动画”作为一个宽泛概念,在引擎中有多种实现方式,需要灵活选择 影视CG相关常见动画种类浏览 骨骼网格体动画(动画序列,变形目标,动画曲线,Pose Asset) 物理动画(刚体,布料,破碎,实时毛发模 ......
基础 笔记 动画 官方 Epic

【前端动画】—— 再看tweenJS

16开始接触前端,一直对一个问题特别感兴趣,那就是js动画,也就是从那时起开始探究动画的各种表现形式,也是那个时候开始意识到编程这块东西最终考验的就是抽象和逻辑,而这一切完全是数学里边的东西。最早接触tweenJS是去年还是前年来着有点忘了,不过当时有点不大看得懂,勉勉强强算是过了一遍,不过有了这个 ......
前端 tweenJS 动画

防止react-re-render: Why Suspense and how ?

近期内部项目基础项目依赖升级,之前使用的路由缓存不再适用,需要一个适配方案。而在此过程中react re-render算是困扰了笔者很久。后来通过多方资料查找使用了freeze解决了此问题。本文主要论述react re-render问题一般的解决方案和freeze在react内部的实现原理。reac ......
react-re-render Suspense render react Why

React 18 useEffect 代码执行两次的问题

https://github.com/zjy4fun/notes/issues/62 React 18 提出的新特性“并发渲染”,为了防止组件重复挂载的问题,React 在开发模式 && 严格模式下,useEffect 会执行两次(模拟组件挂载和组件卸载,让问题提早暴露),但是线上模式不会。 开发模 ......
useEffect 代码 问题 React 18

【中秋国庆不断更】OpenHarmony定义可动画属性:@AnimatableExtend装饰器

【中秋国庆不断更】OpenHarmony定义可动画属性:@AnimatableExtend装饰器 @AnimatableExtend装饰器用于自定义可动画的属性方法,在这个属性方法中修改组件不可动画的属性。在动画执行过程时,通过逐帧回调函数修改不可动画属性值,让不可动画属性也能实现动画效果。 ​ ● ......

React Native 动画(Animated)

实现效果 代码 从react-native中引入 import { Animated, Easing, } from 'react-native'; js实现 const opacity1 = useRef(new Animated.Value(0.2)).current; const opacit ......
Animated 动画 Native React

基于react18+vite4+arco.design搭建极简版后台管理模板

趁着国庆前夕整了一个vite4结合react18搭建后台管理模板,搭配上字节团队react组件库ArcoDesign,整体操作功能非常丝滑。目前功能支持多种模板布局、暗黑/亮色模式、国际化、权限验证、多级路由菜单、tabview标签栏快捷菜单、全屏控制等功能。极简非凡的布局界面、高定制化模块,用心打 ......
后台 模板 design react vite4

React-Native之Gradle下载慢的解决方案

一、解决gradle下载慢的问题 1.使用国内镜像 maven脚本如下: buildscript { repositories { maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } maven { url 'https ......

three.js弧度角度转换

弧度 = 角度 / 180 * Math.PI 角度 = 弧度 * 180 / Math.PI 角度 转 弧度 THREE.MathUtils.degToRad(deg) 弧度 转 角度 THREE.MathUtils.radToDeg (rad) π(弧度) = 180°(角度) three.js ......
弧度 角度 three js

jenkins 编译react项目报错

报以下错误10:16:17 + npm run build:qa10:16:17 10:16:17 > xxx-web@0.1.0 build:qa10:16:17 > DISABLE_ESLINT_PLUGIN=true cross-env NODE_STAGE=qa node scripts/b ......
jenkins 项目 react

react嵌套多层问题排查

杭州参与的一个项目中遇到一个react模块(人资),封装很多,嵌套层次很多,而且子组件全部使用 props传递,跟踪很困难 第一次排查,推测出应该是一个枚举缺少枚举项,但是数据传递流程未搞清楚,不敢确定,也未尝试验证 第二次排查, 先从源码入手,从报错方法,排查到对应父组件的写值方法,子组件使用pr ......
多层 问题 react

401-react基础,jsx

一、概述 1.1、基础概念 React 基础、React-Router、PubSub、Redux、AntD 定义:用于构建用户界面的JavaScript库;是一个将数据渲染为HTML视图的开源JavaScript库。 为什么要学,痛点 1、原生js操作DOM繁琐、效率低(DOM-API操作UI) 2 ......
基础 react 401 jsx