全部文章

1299 篇文章

富文本03-05
阅读

wangeditor源码分析

我们项目使用的是 wangeditor,它是国内一个开发者开源的,功能基本足够,样式主流。 基础用法: 源码结构: editor是入口位置,core实现基础的编辑器功能,其他文件夹是编辑器扩展的插件功能 createEditor主要逻辑是执行 , 的代码位置 packages/core/src/create/create editor.ts: 可以看出这里很重要的的几步: 1. 创建editor实例,这里用到了 的功能,withEven...

#学习
flutter03-05
阅读

对于 Flutter 快速开发框架的思考

要打造一个Flutter的快速开发框架,首先要思考的事情是一个快速开发框架需要照顾到哪些功能点,经过2天的思考,我大致整理了一下需要的能力: 状态管理:很明显全局状态管理是不可或缺的,这个在前端领域上,几乎是一种不容置疑的方案沉淀,他就像人体的血液循环系统,连接了每个区域角落。 网络请求管理:这个是标配了,对外的窗口,一般来讲做选型上需要注意可以支持请求拦截,支持响应拦截,以及错误处理机制,方便做重试等等。 路由管理:可以说很多项目路由...

#学习
react03-01
阅读

React flushSync更新时同步更新 dom

一般情况下,State 更新是异步更新 dom 的,比如下边这个例子 这时候可以使用 \ dom 提供的 flushSync,使得同步更新 dom: 但会有一个点:虽然调用 flushSync 同步更新 dom,但是组件的 state 更新仍然是异步的;

#学习
react03-01
阅读

React中的flushSync与Vue中的nextTick的比较

中的flushSync与Vue中的nextTick是两种用于处理异步更新的机制。它们在React和Vue这两个流行的前端框架中起着重要的作用。 首先,让我们来看看flushSync。在React中,当需要更新UI时,React会将更新操作放入一个队列中,然后异步地执行这些更新操作。但是有时候,我们希望立即执行这些更新操作,而不是等待异步执行。这时就可以使用flushSync。flushSync会立即执行队列中的所有更新操作,确保更新是同...

#学习
nextjs03-01
阅读

基于 Next.js14的前端工程完整搭建

大家好,这篇文章主要是介绍基于nextjs14 搭建项目基础的最佳实现,并持续更新中,其中路由采用的是官方推荐的 APP router 模式,那咱们话不多说直接上干货。 项目地址: 线上地址: 环境 Next.js 14版本对于Node.js最低的版本要求是 18.17.0 。同时也建议大家 node 版本的选择最好选择双数版本,众所周知 nodejs 的单数版本维护周期较短。同时如果同时有很多项目需要维护建议大家用 nvm 或者 vo...

#学习
javascript03-01
阅读

简单的console.log不要再用了

1\. 需求分析 一般情况下,我们在项目中进行代码调试时,往往只会在逻辑中使用 进行控制台打印调试。 这种方式虽然比较常规直接,但是如果打印数据多了,就会导致你的控制台消息变得异常混乱。 所以,我们有了更好的选择,那就是 对象提供的其它API,来让我们能够更清晰的区分打印信息。 2\. 实现步骤 2.1 console.warn 当我们需要区分一些比较重要的打印信息时,可以使用 进行警告提示。 2.2 console.error 当我们...

#学习
nextjs02-29
阅读

Next.js渲染方式

几种渲染方式比较 1. SSG(Static Site Generation 静态站点生成): 在构建时生成页面的静态 HTML 文件,并将其预先存储在服务器上。这样,当用户请求页面时,服务器可以立即提供预先生成的 HTML 内容,而无需动态地生成页面。SSG 可以大大提高网站的性能和加载速度,并且非常适用于内容不经常更改的静态页面。在 Next.js 中,可以通过 函数实现静态站点生成。 2. SSR(Server Side Rend...

#学习
css02-28
阅读

unocss额外动画库

包名:unocss preset extra 网址:

react02-27
阅读

介绍React Fiber架构的原理和工作模式

首先,我们先聊聊React的基本组成:当我们写React组件并使用JSX时,React在底层会将JSX转换为元素的对象结构。例如: 上述代码会被转换为以下形式: 为了将这个元素渲染到DOM上,React需要创建一种内部实例,用来追踪该组件的所有信息和状态。在早期版本的React中,我们称之为“实例”或“虚拟DOM对象”。但在Fiber架构中,这个新的工作单元就叫做Fiber。 所以,在本质上, Fiber是一个JavaScript对象...

#学习