KooFE前端团队
其他
使用设计规则来进行 UI 设计
行高行高是指两行文本之间的垂直距离。行与行之间的空间有助于防止人们重复阅读同一行的文本。同时,合适的行高看起来更加舒适,也更容易阅读。为了提高可读性和可访问性,特别是对于长文本内容,请确保行高至少为
其他
React useMemo 实现深比较
钩子可以帮助减少组件的重新渲染,通过缓存计算结果来避免不必要的计算和渲染。当某个组件的渲染过程中涉及到昂贵的计算或者是从外部传递的属性(props)的变化不会对渲染结果产生影响时,你可以使用
2023年6月5日
其他
React APIs 演进和代码复用
dependencies):需要额外的工作才能确定某个混入提供了什么功能或状态。它们引用共享的属性键,导致了相互之间的耦合。降低本地推理的能力:混入通常使组件更难以推理和调试。例如,几个混入可能会对
2023年6月2日
其他
使用 ChatGPT 和 json-server 快速实现 mock API
文件,但这个过程会很耗时间,而且这些假数据可能并不好用。此外,从文件中读取数据也不是应用程序真正的操作方式,更优雅的方式是使用接口
2023年5月5日
其他
如何在 Gitlab 中使用 ChatGPT 进行 CodeReview
https://docs.gitlab.com/ee/api/discussions.html#create-a-new-thread-in-the-merge-request-diff
2023年4月7日
其他
React Refs: 从访问 DOM 到命令式 API
的复杂度。这让我们不必手动去查询元素,也不必思考如何向这些元素添加类,也不必再苦于浏览器的不一致性,而是让我们专心编写组件并专注于用户体验。然而,仍然会有一些场景(虽然很少!)需要我们访问
2023年3月29日
其他
React 数据获取:避免条件竞争
useEffect。它并没有从根本上解决问题,而是将问题掩盖起来。但在某些场景下,如果小心使用,也不失为一种解决问题的方法。解决条件竞争:丢弃错误数据一种解决条件竞争更友好的方法,是确保传入到
2022年11月11日
其他
React 最新提出了一个名为 use 的 Hook
API,因为我们不想将开发者锁定到一个不是那么优秀的架构中。数据获取是一个比较复杂的事情,需要做许多权衡和取舍,最好的解决方案是能够与应用架构的其它部分深度集成
2022年10月31日
其他
React 数据获取与性能优化
只有在它们最终出现在呈现树中时才会被下载和执行,所以根据定义,在获取和呈现所有关键数据之后。所以它是安全的。使用第三方类库做数据获取直到现在为止,在上面的所有的代码示例中,我们使用的都是原生
2022年10月17日
其他
React 可组合 API 的设计原则
组合。比如,假设我们有一个通用的内联可编辑的功能组件(InlineEdit),该字段具有只读视图(readView),单击时会切换到编辑视图(editView),消费者可以在其中插入自定义组件:
2022年8月31日
其他
一份详尽的 React re-render 指南
re-render:组件发生重新渲染的原因是数据发生了变化,组件要把最新的数据渲染到页面上。例如,用户在输入框中输入文字,组件在每次按键时通过状态管理完成更新和渲染,对于这个组件来说这就是必要的
2022年8月15日
其他
编写更好的 CSS 代码 (Part V)
8px;}无论使用上面提到的哪种方式,都不必再担心布局的边缘间距,浏览器会自动为我们处理好,只有相邻的子元素之间存在对应的间隙。如果布局不需要换行,那么它的外边缘就不会有任何不必要的间距。此外,由于
2022年2月21日
其他
编写更好的 CSS 代码 (Part Ⅳ)
}}如果不使用媒体查询,这些样式上的变化是无法实现的。但对于间距、字体大小等数字属性值,实际上可能需要的是在两个点之间进行线性缩放,而不是让它从一个离散值变为另一个离散值。如果允许使用
2022年2月14日
其他
编写更好的 CSS 代码 (Part Ⅲ)
margin-left、padding-right、以及绝对定位等属性。但如果你的应用是国际化的,要支持多个地区的语言,那情况就完全不同了。在阿拉伯语、希伯来语等这些
2022年2月8日
其他
编写更好的 CSS 代码 (Part Ⅱ)
*/在这份样式表中,选择器的优先级比较低,它们的样式很容易被其他选择器覆盖。当我们在重写样式时,不需要特意地提高选择器的优先级。在
2022年2月2日
其他
编写更好的 CSS 代码 (Part I)
的优先级是由它的选择器列表中优先级最高的选择器决定的。也就是说,列表中所有的选择器都具有相同的优先级。在上面的第一个示例中,所有选择器的优先级是相同的。.nav-link:is(:focus,
2022年1月29日
其他
编写防御性 CSS 实践 (Part Ⅲ)
将子元素彼此隔开。当子元素的数量固定时,布局看起来是没有问题的。但是,当子元素的个数增加或减少时,布局看起来会变得很奇怪。看一下下面的例子:在上图的
2022年1月10日
其他
编写防御性 CSS 实践 (Part Ⅱ)
添加到了辅助导航,这样它就可以固定到了底部(吸底)。如下图所示,主导航和辅助导航看起来都很正常。然而,当浏览器的高度变小时,布局就会发生错乱。如下图所示,两个导航发生了重叠:使用
2022年1月4日
其他
编写防御性 CSS 实践 (Part I)
1rem;}文本内容过长在布局中,处理比较长的文字内容是很重要的。正如在前面所看到的,当标题太长时,它会被截断。虽然截断不是必选的,但对于某些
2021年12月29日
其他
一份自定义的 CSS Reset
24px(假设使用的是浏览器的默认字体大小)。不过,在较大的文本上,此声明会产生更紧的行。下面的示例可以做出验证:要注意的是,在使用这个设置时需谨慎,目前我还在试验中。其中的一个缺点是,我们必须用
2021年12月13日
其他
React 18 什么是撕裂
这个特性带来的结果是,用户交互(或其他工作,如网络请求或超时)可以更改外部状态中的值,在屏幕上可以渲染并显示出这些值。这就是可能导致问题的边缘情况。在第二张图片中,我们看到
2021年8月24日
其他
React 18 如何支持 Strict Effects
的作用是在用户浏览了特定的内容时要做一下日志记录。但是,当该内容被隐藏并且再展示给用户时,这个过程要如何处理呢?是否应该再发送一次日志呢?(这个场景与
2021年8月11日
其他
React 18 严格模式支持 Strict Effects
操作。这就是为什么我们相信,可以将这种行为添加到严格模式中,而不会给开发人员带来不必要的负担。几乎所有的事情都能正常工作
2021年8月9日
其他
React 18 用 createRoot 替换 render
document.getElementById('app');ReactDOM.render(container,
2021年8月4日
其他
【译】是时候了解 CSS 逻辑属性了
年,盒模型的描述方式正在经历一场变革,一种重新定义盒模型的方式正在悄然流行,它不仅可以让前端的布局在逻辑上更加严谨,而且能让开发者以更少的代码写出兼容性更好的页面。它就是本文探讨的主题:CSS
2021年1月7日