设计 React 组件不仅是编写 JSX,更是一门关于解耦、复用和可维护性的艺术。优秀的组件设计能让项目在规模扩大时依然易于管理。在考虑组件设计时,不仅要关注可复用性,还要警惕过度封装的风险。 ## 核心设计原则 在动手编码前,需要明确并遵循以下核心原则: 1. 单一职责原则 - 理想情况下,一个组件只负责一件事。如果一个组件既负责数据获取、复杂逻辑处理,又负责 UI 渲染,那它就过于“臃肿”了。
对于 monorepo 我使用的是 turborepo,创建一个新的项目非常简单: 对于包管理器,这次尝鲜使用了 pnpm 它在安装包到 workspace 中相对于其他两个来说要更加的方便。 ## Turborepo 对于 turborepo 来说没有什么需要过多配置的,比较需要注意的就是它的环境变量需要手动在 配置文件中声明一次: 除此之外,在默认的 tsconfig 中, 其 是 如果需要一
this 全面解析 this 和动态作用域有些许类似,它们都是在执行时决定的。this 是在调用时被绑定的,完全取决于函数的调用位置。 ### 确定调用位置 当一个函数被调用时,会创建一个活动记录(执行期上下文)。这个记录会包含函数在哪里被调用(调用栈)、函数的调用方式、传入的参数等信息。this 就是这个记录里的一个属性。 调用位置就是函数在代码中被调用的位置,而不是声明的位置。我们可以通过分析
路由不仅仅只是网络的代名词,它更像是一种表达路径的概念。与网络中的路由相似,前端中的页面路由也是带领我们前往指定的地方。 ## 现代前端的 Web 应用路由 时代在变迁,过去,Web 应用的基本架构使用了一种不同于现代路由的方法。曾经的架构通常都是由后端生成的 HTML 模板来发送给浏览器。当我们单击一个标签导航到另一个页面时,浏览器会发送一个新的请求给服务器,然后服务器再将对应的页面渲染好发过来
Three.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
从学习 js 到现在,也有一段时间了。曾经也尝试过写一些复杂的实践。后来经过测试,就算在入门阶段到了会写,那么距离最优代码还是有一定的差距。可能隔个几天回来自己都看不懂自己写的是什么了,杂乱无章。 最近打算先开始写一些简单的案例做做练习。无意中想到了经典的乘法口诀表,正好 for 循环也有过实践了,可以尝试一下。 > for 循环嵌套的一次练习。 ## 思路 有了想法之后,就要开始构建实现的思路。