React

组件开发

组件提供渲染物,供外部使用时。

render-props

  1. 渲染物位置固定;
  2. 渲染物位置不定,但在组件子组件范围内(children);

    context

    渲染物位置不定,且不在组件子组件范围内。

    hooks

    hooks与 context 和 render-props 都不相同,hooks 相当于用一个统一的入口,提供 状态 + 视图(渲染物),因为在未建立 context 上下文的情况下,hook 与 组件是无法通信的,所以 hook 仅用于提供,状态 + 视图完全独立,组件仅需要状态的场景,且这个状态,依旧需要使用者传回给组件。

所以大部分场景都是 render-props,极少场景使用 context,hooks 看方便程度。

TypeScript

enum -> union type

Template Literal Types

  1. enum Weekday {
  2. MONDAY = 'mon',
  3. TUESDAY = 'tue',
  4. WEDNESDAY = 'wed'
  5. }
  6. type WeekdayType = `${Weekday}`; // 'mon' | 'tue' | 'wed'