React
组件开发
render-props
- 渲染物位置固定;
- 渲染物位置不定,但在组件子组件范围内(children);
context
渲染物位置不定,且不在组件子组件范围内。hooks
hooks与 context 和 render-props 都不相同,hooks 相当于用一个统一的入口,提供 状态 + 视图(渲染物),因为在未建立 context 上下文的情况下,hook 与 组件是无法通信的,所以 hook 仅用于提供,状态 + 视图完全独立,组件仅需要状态的场景,且这个状态,依旧需要使用者传回给组件。
所以大部分场景都是 render-props,极少场景使用 context,hooks 看方便程度。
TypeScript
enum -> union type
Template Literal Types
enum Weekday {
MONDAY = 'mon',
TUESDAY = 'tue',
WEDNESDAY = 'wed'
}
type WeekdayType = `${Weekday}`; // 'mon' | 'tue' | 'wed'