本轮子是通过 React + TypeScript + Webpack 搭建的,至于环境的搭建这边就不在细说了,自己动手谷歌吧。当然可以参考我的源码。
今天被战友种草了一款前端框架,打开链接看文章,在各个指标的比较下,SolidJs脱颖而出,下面简单介绍一下这个框架,然后开始记录一下学习笔记。(Golang的事情暂时放一放,毕竟咱是专业前端「手动狗头」)。
React 中自定义的 Hooks 为开发者提供了重用公共方法的能力。然而,如果你是一个测试新手的话,测试这些钩子可能会很棘手。本文中,我们将探索如何使用 React Testing Library 测试库来测试自定义钩子。
今日猫片 优化一下 blog 界面,准备每次写都给大家看一张猫片(大雾)。 写在前面的话 开始学习 react 的时候,有一个难点,高阶组件。 以前写过一篇不太成熟的文章,这里忙里偷闲再来详细的
最近开始使用 React 和 TypeScript 开发项目了,顺便整理一下 react-ts 项目的创建过程。
大家好,我是三元。今天给大家介绍一个新的框架 Fresh,由 Deno 作者出品,在最近发布了 1.0 的正式版本,宣布支持了生产环境,并且在 Github 上热度也比较高,现在是时候给大家详细地介绍一下这个方案了。接下来会从框架定位、上手体验、优劣势评估和源码实现这几个方面来给大家深入解读 Fresh 框架。
经常使用React的同学都知道,有些hook被设计为:「依赖项数组 + 回调」的形式,比如:
上一篇文章,《从创建第一个 React TypeScript3 项目开始》,我们一起学习了如何创建一个React TS3项目。本章节与大家一起聊聊如何使用TS3的方式创建组件。声明React组件的方式共有两种:使用类的方式声明组件(类组件 class component)和使用函数的方式声明组件(函数组件function component)。今天笔者给大家聊聊使用类的方式声明组件。
一个复杂的应用都是由简单的应用发展而来的, 随着越来越多的功能加入项目, 代码就会变得越来越难以控制. 本文章主要探讨在大型项目中如何对组件进行组织, 让项目具备可维护性.
提前需要准备好react脚手架开发环境,由于react已经不支持在页面内部通过jsx.transform来转义,我们就自己大了个简易的开发环境
利用 columns 的 render 属性,可以 return 一个 标签,并设置 style ,代码如下:
Jest 是一款轻量的 JavaScript 测试框架,它的卖点是简单好用,由 facebook 出品。本文就简单讲讲如何使用 Jest 对 React 组件进行测试。
前段时间有写过一个TypeScript在node项目中的实践。 在里边有解释了为什么要使用TS,以及在Node中的一个项目结构是怎样的。 但是那仅仅是一个纯接口项目,碰巧赶上近期的另一个项目重构也由我来主持,经过上次的实践以后,尝到了TS所带来的甜头,毫不犹豫的选择用TS+React来重构这个项目。 这次的重构不仅包括Node的重构(之前是Express的项目),同时还包括前端的重构(之前是由jQuery驱动的多页应用)。
在 <ProjectList /> 下方显示加载指示器。仅在 loading=true .
执行 yarn jest 或者 yarn jest test/plus.spec.js 运行测试用例
使用ts写React代码写了将近三个月,从刚开始觉得特别垃圾到现在觉得没有ts不行的一些实践以及思考。如果按部就班的写React就体会不到使用ts的乐趣,如果多对代码进行优化,进行重构,在业务中实践比较好的一些方案就会体会到ts真正的乐趣,但是ts也在过程中给我带来了痛苦,在本文的最后会具体展开一下。
在前面的章节中,我们学习了 context 的使用方式,基于它我们可以搞一个自己的状态管理库。不过,他存在性能上的问题,以致于虽然从功能的实现上来说,他非常不错,但是从性能上来说,context 的表现非常糟糕,虽然很少有 React 学习者关注到这个问题,但是如果你关注项目的整体架构,并且想要成为顶尖高手的话,这是你必须掌握的最后一步。
React的数据是自顶向下单向流动的,即从父组件到子组件中,组件的数据存储在props和state中,实际上在任何应用中,数据都是必不可少的,我们需要直接的改变页面上一块的区域来使得视图的刷新,或者间接地改变其他地方的数据,在React中就使用props和state两个属性存储数据。state的主要作用是用于组件保存、控制、修改自己的可变状态,state在组件内部初始化,可以被组件自身修改,而外部不能访问也不能修改,可以认为state是一个局部的、只能被组件自身控制的数据源,而对于React函数组件,useState即是用来管理自身状态hooks函数。
esbuild 的大名相信大家也有耳闻,它是一个非常快的 Javascript 打包工具,用 GO 语言编写,是 figma 的 cto Evan Wallace 著作的,一个 30 min 的 webpack 项目用 esbuild 可以分钟级运行。本文将记录使用 esbuild 来打包一个 React 库。
首先扫盲一下,先从搭建环境开始: 1.安装node,因为ts的编译器是js/ts写的; 安装node后同时获得npm命令,这是nodejs世界里的包管理器(也可以看作node的app商店); 2.安装vs 2015或者vs code,当然这不是必须的,但是这里强烈推荐写ts的工具,vs第一,vsc第二; 3.vs自带了TypeScript(vs2012+,vs2015update1自带了ts1.7),最新版本的typescript for vs去官网下载即可, 或者如果不依赖vs(比如mac环境),
提示API快要不支持了,按照https://reactjs.org/link/switch-to-createroot进行更换`api`
上班摸鱼,下班摸鱼,一直摸一直爽。在一次调试的过程中,我按下了F12刚好是掘金的页面,然后把代码输入到控制台之后,顺手滚动了几下右侧的滚动条,发现个问题如下图所示:
VueJS 中有一些组合组件并复用逻辑的方法。在本文中,我将展示一种在 Vuejs (2.* 及 3.*) 中改进组合方式的方法。
本文教你从0到1教你,如何使用 create-react-app 搭建scratch项目,实现简基础的积木编程与舞台渲染效果。Github项目usetools/scratch-example/v1.0.0。
业内优秀的组件库比如 Antd Design 和 Element UI,大大节省了我们的开发时间。那么,做一套组件库,容易吗?
当我们没有为函数组件或者类组件的props声明类型,或忘记为React安装类型声明文件时,会产生"Parameter 'props' implicitly has an 'any' type"错误。为了解决这个错误,在你的组件中明确地为props对象设置一个类型。
useSyncExternalStore 是一个大家非常陌生的 hook,因为它并不常用,不过在一些底层库的封装里,它又非常重要。它能够帮助我们构建自己的驱动数据的方式,而不用非得通过 setState。
返回一个”虚拟节点“,通常缩写为 VNode:一个普通对象, 其中包含向 Vue 描述它应在页面上渲染哪种节点的信息,包括所有子节点的描述。它的目的是用于手动编写的渲染函数
F首先我们就回顾一下,我们到底是怎么告别了使用 php/jsp 做服务器端渲染,进入前后端分离的客户端渲染时代,又为什么重新回到了服务端渲染。
之前翻译过一篇 前端工程化发展历史 的文章,Webpack、Babel 、Eslint 现在基本上就是前端项目的标配了。
关于接口,你可以理解为定义了属性和类型,但是没有定义其它任何东西的构造函数。接口可以用来约束对象,函数乃至代码结构。
比如上面代码中的@include button-size 函数,这个是scss的一个特性,可以从官网上看下介绍。
写本篇文章主要是为了记录在正式使用 Vue 3 + vite 2 投入开发中遇到的一些问题,不适合没有任何 Vue 开发经验的同学阅读。本文中将会运用到 Vue 3 的 Composition api,vue-router@next。
TypeScript 入门,写一个 react 进度条组件 写在最前面 如果你写过 react 的组件, 这篇文章对与你来说基本没有什么难度。纯粹的是加上了一点 ts 的知识。 我完全是以学习者的姿态
写在最前面 最近业务和设计稿需要需要写一个加载的动画,然后就决定构建一个 react 的 spinner 圆圈⭕️旋转的加载动画。 关键Key: react,css3 clip-path 先来看看需
写在最前面 最近业务和设计稿需要需要写一个加载的动画,然后就决定构建一个 react 的 spinner 圆圈⭕️旋转的加载动画。 关键Key: react,css3 clip-path 先来看看需要实现的效果 📷 思路 需要先构建一个圆,然后做一个循环旋转的动画,然后在动画的过程中切割圆的部分环,达到上图的效果。 圆:border-radius: 50% 旋转动画:transform: rotate(...); 切割环:clip-path:polygon(...) css3 clip path 这
在Github扒了一下作者发现 PandaCSS 其实在2023 年 3 月 Segun Adebayo 发布的《Chakra UI的未来》 一文中有提到过,只不过最近才正式发布。
警告提示:You rendered descendant <Routes> (or called useRoutes()) at "/home" (under <Route path="/home">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
接下来依次打包了四种类型的产物,方法都是同一个compileModule,这个方法后面会详细分析。
useState与useEffect是驱动React hooks运行的基础,useState用于管理状态,useEffect用以处理副作用,通过手写简单的useState与useEffect来理解其运行原理。
大家平时都在写组件,当你写组件库里的组件,或者项目里的一些公共组件的时候,是需要提供文档的。
在当前工业4.0和智能制造的产业升级浪潮当中,智慧大屏无疑是展示企业IT成果的最有效方式之一。然而其背后怎么能缺少ECharts的身影呢?对于React应用而言,直接使用ECharts并不是最高效且优雅的方式,而echarts-for-react则是针对React应用对ECharts进行轻量封装和增强的工具库。
TypeScript 2.4 为标识符实现了拼写纠正机制。即使咱们稍微拼错了一个变量、属性或函数名,TypeScript 在很多情况下都可以提示正确的拼写。
Context是React提供的一种跨组件的通信方案,useContext与useReducer是在React 16.8之后提供的Hooks API,我们可以通过useContext与useReducer来完成全局状态管理例如Redux的轻量级替代方案。
测试的目的是为了带给我们带来强大的代码信心,如果把测试初衷忘掉,会很容易掉入测试代码细节的陷阱。一旦关注点不是代码的信心,而是测试代码细节,那么测试用例会变得非常脆弱,难以维护。
领取专属 10元无门槛券
手把手带您无忧上云