获得徽章 0
- pnpm 工作空间 pnpm-workspace.yaml 可以简单的实现 monorepo 如果想要发布工作流的话,推荐使用 chanegsets评论2
- SWR是一个用于React应用程序的数据获取库,它通过缓存和重新验证机制来优化数据获取,减少网络请求等待时间,同时可以自动更新UI。使用SWR很简单,只需传递一个API函数即可,还提供了许多其他功能,例如重新验证机制、手动重新验证、自定义缓存键、支持SSR等。
import useSWR from 'swr';
function MyComponent() {
const { data, error } = useSWR('/api/data', fetch);
if (error) return <div>Error loading data</div>;
if (!data) return <div>Loading...</div>;
return (
<div>
<h1>{data.title}</h1>
<p>{data.description}</p>
</div>
);
}展开评论2 - TypeScript 是一种由 Microsoft 开发的开源编程语言,它是 JavaScript 的超集,提供了类型注解、接口、枚举、泛型等概念,强调类型安全性和代码可维护性,可编译成 JavaScript,被广泛应用于大型 Web 应用程序的开发。评论1
- React 中数据不可变的力量 immutation, 优点:
1. 便于调试,当要打印 state 值的时候可以避免值被修改
2. 便于优化,如 memo
3. react 的新功能快照状态
4. 简单的处理复杂数据,不同关心响应式,只用创建一个新的对象展开评论1 - flex 是一个CSS的布局方式,与 grid 布局的二维布局不同的,flex 是一维布局,分为主轴和交叉轴,flex 容器中的 items 默认在主轴上排序。评论1
- 函数柯里化,是将接收多个参数的函数,转化为接收一个函数和其他剩余参数的函数。可以使功能分离出来;避免重复代码,在前几个参数相同的情况下
function curry(fn) {
const _curry = (...args) => {
if(args.length >= fn.length) {
return fn.apply(this, args)
}
return (...args2) => {
return _curry.apply(this, args.concat(args2))
}
}
return _curry;
}展开评论1 - React 状态管理 zustand, 优点
1、不需要 providers
2、只能在函数组件使用,全 hooks
3、可以直接写异步方法
const useStore = create((set) => ({
fishies: {},
counter: 0
inc: () => set((s) => ({counter: s.counter + 1}))
fetch: async (pond) => {
const response = await fetch(pond)
set({ fishies: await response.json() })
},
}))展开评论1 - CSS 选择器优先级 内联样式 > ID 选择器 > 类选择器 = 属性选择器 = 伪类选择器 > 标签选择器 = 伪元素选择器,
计算规则:
!important 10000
内联样式 1000
ID选择器 100
类选择器、属性选择器、伪类 10
标签选择器、伪元素 1
* 通配符 0展开评论1