1. 每次render调用时,都会重新创建一个事件的回调函数,带来额外的性能开销,
  2. 当组件的层级越深时,这种开销就越大,因为任何一个上层组件的变化都可能会触发这个组件的render方法
    1. 优化点:useCallback禁止重复创建事件句柄
    2. memo & PureComponent & shouldComponentUpdate
    3. useMemo

中文输入法问题

onCompositionStart,onCompositionUpdate,onCompositionEnd这三个事件来处理

  1. compositionstart 要开始输入中文
  2. compositionupdate 插入新字符
  3. compositionend ```jsx handleCompositionStart () { this.lock = true }

handleCompositionEnd (event) { this.lock = false this.handleChange(event.target.value) }

handleCompositionUpdate () { this.lock = true } ```