全部文章
共 1299 篇文章
wangeditor源码分析
我们项目使用的是 wangeditor,它是国内一个开发者开源的,功能基本足够,样式主流。 基础用法: 源码结构: editor是入口位置,core实现基础的编辑器功能,其他文件夹是编辑器扩展的插件功能 createEditor主要逻辑是执行 , 的代码位置 packages/core/src/create/create editor.ts: 可以看出这里很重要的的几步: 1. 创建editor实例,这里用到了 的功能,withEven...
对于 Flutter 快速开发框架的思考
要打造一个Flutter的快速开发框架,首先要思考的事情是一个快速开发框架需要照顾到哪些功能点,经过2天的思考,我大致整理了一下需要的能力: 状态管理:很明显全局状态管理是不可或缺的,这个在前端领域上,几乎是一种不容置疑的方案沉淀,他就像人体的血液循环系统,连接了每个区域角落。 网络请求管理:这个是标配了,对外的窗口,一般来讲做选型上需要注意可以支持请求拦截,支持响应拦截,以及错误处理机制,方便做重试等等。 路由管理:可以说很多项目路由...
React flushSync更新时同步更新 dom
一般情况下,State 更新是异步更新 dom 的,比如下边这个例子 这时候可以使用 \ dom 提供的 flushSync,使得同步更新 dom: 但会有一个点:虽然调用 flushSync 同步更新 dom,但是组件的 state 更新仍然是异步的;
React中的flushSync与Vue中的nextTick的比较
中的flushSync与Vue中的nextTick是两种用于处理异步更新的机制。它们在React和Vue这两个流行的前端框架中起着重要的作用。 首先,让我们来看看flushSync。在React中,当需要更新UI时,React会将更新操作放入一个队列中,然后异步地执行这些更新操作。但是有时候,我们希望立即执行这些更新操作,而不是等待异步执行。这时就可以使用flushSync。flushSync会立即执行队列中的所有更新操作,确保更新是同...
基于 Next.js14的前端工程完整搭建
大家好,这篇文章主要是介绍基于nextjs14 搭建项目基础的最佳实现,并持续更新中,其中路由采用的是官方推荐的 APP router 模式,那咱们话不多说直接上干货。 项目地址: 线上地址: 环境 Next.js 14版本对于Node.js最低的版本要求是 18.17.0 。同时也建议大家 node 版本的选择最好选择双数版本,众所周知 nodejs 的单数版本维护周期较短。同时如果同时有很多项目需要维护建议大家用 nvm 或者 vo...
简单的console.log不要再用了
1\. 需求分析 一般情况下,我们在项目中进行代码调试时,往往只会在逻辑中使用 进行控制台打印调试。 这种方式虽然比较常规直接,但是如果打印数据多了,就会导致你的控制台消息变得异常混乱。 所以,我们有了更好的选择,那就是 对象提供的其它API,来让我们能够更清晰的区分打印信息。 2\. 实现步骤 2.1 console.warn 当我们需要区分一些比较重要的打印信息时,可以使用 进行警告提示。 2.2 console.error 当我们...
Next.js渲染方式
几种渲染方式比较 1. SSG(Static Site Generation 静态站点生成): 在构建时生成页面的静态 HTML 文件,并将其预先存储在服务器上。这样,当用户请求页面时,服务器可以立即提供预先生成的 HTML 内容,而无需动态地生成页面。SSG 可以大大提高网站的性能和加载速度,并且非常适用于内容不经常更改的静态页面。在 Next.js 中,可以通过 函数实现静态站点生成。 2. SSR(Server Side Rend...
unocss额外动画库
包名:unocss preset extra 网址:
介绍React Fiber架构的原理和工作模式
首先,我们先聊聊React的基本组成:当我们写React组件并使用JSX时,React在底层会将JSX转换为元素的对象结构。例如: 上述代码会被转换为以下形式: 为了将这个元素渲染到DOM上,React需要创建一种内部实例,用来追踪该组件的所有信息和状态。在早期版本的React中,我们称之为“实例”或“虚拟DOM对象”。但在Fiber架构中,这个新的工作单元就叫做Fiber。 所以,在本质上, Fiber是一个JavaScript对象...