
# index

- 见 [ku doc](https://ku.baidu-int.com/knowledge/HFVrC7hq1Q/pKzJfZczuc/tfL9tZh9ui/u0G_KNRuzkkfoK)

# 梳理

- (x) display date 控制?
  - (x) 外部传值?
  - (x) 仅在初始化, 同步 display date?
  - (x) 当面板打开后, 状态就交还给内部?
  - (-) components/date-picker/src/inner-comps/create-inner-date-picker.tsx
    - (-) 可能暂时不改 date picker?
    - syncDisplayDate
    - state.displayedDate
    - constructor
      - (-) 可能需要在 update 前确认
  - (x) processOpenStatus
    - (x) 解决了 日期选择问题
    - (x) 月 & 季度?
      - demo 写错了
  - 还有一个 zoomedDisplayedDate ?
    - (x) 待确认, 应该没问题
  - (x) 日 
    - (x) demo
  - (x) 月
    - (x) demo
  - (x) 季
    - (x) demo
  - (x) ut
    - (x) 追加 rerender 能力
    - (x) + closePopper
    - (x) 又是关闭面板问题?
      - blur?
      - mouseDown?
      - 以上两者都要
      - (x) 统一一下 range picker?
        - (x) 顺带 fix 一些 broken test
    - (x) 日期 / 非控
      - (x) default
      - (x) selected
    - (x) 日期 / 控制
      - (x) default
      - (x) selected
    - (x) 月份 / 非控
    - (x) 月份 / 控制
    - (x) 季度 / 非控
  - () doc
- (x) range picker
  - (x) api
    - (x) impl
    - (x) 测试
    - (x) ut
      - (x) getter => 改为方法
      - (x) 关闭 panel
        - (-) icon
        - (-) body...
        - (-) document?
        - (x) mousedown
      - (x) 控制型组价 => 需要 rerender 更新控制状态
    - (x) 去掉 log
    - () doc?
  - (@) setOpenStatus
  - components/date-picker/src/inner-comps/inner-range-picker.tsx #342
  - (x) #313 setOpenStatus
  - startDisplayedDate
  - endDisplayedDate
  - getInitialDisplayRange(start, end, today) => {start, end}
  - constructor
  - getDerivedStateFromProps?
    - getDerivedStateFromProps react
    - https://www.runoob.com/react/react-ref-getderivedstatefromprops.html
    - [](https://reactjs.org/docs/react-component.html#static-getderivedstatefromprops)
      - 需要非常谨慎
    - https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html
  - 上一个? 下一个?
- (@) @doc: 并非 "纯文档" => "动手做"
  - spiking 的重要性
- https://medium.com/hackernoon/replacing-componentwillreceiveprops-with-getderivedstatefromprops-c3956f7ce607
