全部文章
第 4 页
第 4 页文章
2022 · 10
- 使用 useSyncExternalStore 构建属于自己的全局状态在 React18 new hooks 中简单了解过并作过一个简单的全局状态,它的参数只有三个: - : 一个当状态更新后可执行的回调函数。该函数会收到一个回调函数,这个回调函数就是当状态后执行,React 用来对比是否需要重新渲染组件。 - : 返回当前状态的函数。 - : 在服务端渲染时返回当前状态的函数,可选。 配合上 就可以非常方便的对接外部状态,了解了这个 hook 之后,对自定义的全局
- React 18 中的一些新 hooksuseTransition 返回一个状态值表示过渡任务的等待状态,以及一个启动该过渡任务的函数。它和 CSS 的过渡没有任何关系。useTransition 的主要目的是作用于在复杂的过渡任务时提供一个优先级较低的更新,过渡任务中触发的更新会让更紧急地更新先进行,比如点击。 过渡任务中的更新将不会展示由于再次挂起而导致降级的内容。这个机制允许用户在 React 渲染更新的时候继续与当前内容进行交互
- 使用 Turborepo 和 rollup 构建 NPM 包对于 monorepo 我使用的是 turborepo,创建一个新的项目非常简单: 对于包管理器,这次尝鲜使用了 pnpm 它在安装包到 workspace 中相对于其他两个来说要更加的方便。 ## Turborepo 对于 turborepo 来说没有什么需要过多配置的,比较需要注意的就是它的环境变量需要手动在 配置文件中声明一次: 除此之外,在默认的 tsconfig 中, 其 是 如果需要一
- 自建简易 FaaS近些年来,传统的 IaaS、PaaS 已经无法满足人们对资源调度的需求了。各大云厂商相继开始推出自家的 Serverless 服务。Serverless 顾名思义,它是“无服务器”服务器。不过并不是本质上的不需要服务器,而是面向开发者(客户)无需关心底层服务器资源的调度。只需要利用本身业务代码即可完成服务的运行。 Serverless 是近些年的一个发展趋势,它的发展离不开 FaaS 与 BaaS
2022 · 09
- What about this - JavaScript 全面解析this 全面解析 this 和动态作用域有些许类似,它们都是在执行时决定的。this 是在调用时被绑定的,完全取决于函数的调用位置。 ### 确定调用位置 当一个函数被调用时,会创建一个活动记录(执行期上下文)。这个记录会包含函数在哪里被调用(调用栈)、函数的调用方式、传入的参数等信息。this 就是这个记录里的一个属性。 调用位置就是函数在代码中被调用的位置,而不是声明的位置。我们可以通过分析
- Three.js 中的物体围绕运动使一个物体围绕另一个物体运动,主要是保证围绕物体的运动轨迹。在 three.js 中,一个 Mesh 实例可以通过其自身的 方法,去添加另一个实例。 通过此方法就可以达成添加一个实例成为另一个实例的子节点。当父节点进行运动时(例如自身旋转),子节点也会跟随运动。 在物体围绕运动中,我们可以把围绕物体添加到被围绕物体中。当父节点绕自身旋转时,离父节点有一定距离的围绕物体就会随着父节点的旋转而旋转。但
2022 · 08
- 组件泛型实例-封装可复用的表单组件当前很多 UI 库都会为我们集成可复用的 Form 组件,并且是开箱即用。但有时候我们往往可能需要为自己的组件集成 Form。单纯的手动管理所有的状态可能不是件理想的活,尤其是表单验证。 React Hook Forms 为我们提供了完善的状态管理,并且可以集成到任何组件中去。 你可能会问,如今已经有了像是 MUI、Ant Design 等此类优秀的组件库,为什么还需要使用 React Hook
- 现代前端的Web应用路由-为React打造一个迷你路由器路由不仅仅只是网络的代名词,它更像是一种表达路径的概念。与网络中的路由相似,前端中的页面路由也是带领我们前往指定的地方。 ## 现代前端的 Web 应用路由 时代在变迁,过去,Web 应用的基本架构使用了一种不同于现代路由的方法。曾经的架构通常都是由后端生成的 HTML 模板来发送给浏览器。当我们单击一个标签导航到另一个页面时,浏览器会发送一个新的请求给服务器,然后服务器再将对应的页面渲染好发过来
2022 · 04
- 我的开发环境最近迁移了自己的小服务器,也顺便把本机的环境重新设置了一下,其中环节还是有点复杂的小细节的。所以打算整理下思路,方便以后再设置同样环境。 ## 对于服务器 目前常用的系统主要是 Ubuntu 和 FreeBSD,到手第一步便是更换到国内的镜像源。 对于 FreeBSD 目前可用的有中科大的源,pkg 的配置文件位置为:。 对于 Ubuntu,随便选一个就可以了。配置文件位于:。清华大学开源软件镜像
- How to load a background with three.jsThree.js setup First, we need a little of setup. Let's create a scene and a camera. The default camera position is in the center at . And now, We need render scene into our document. So we need a WebG