- 每次render调用时,都会重新创建一个事件的回调函数,带来额外的性能开销,
- 当组件的层级越深时,这种开销就越大,因为任何一个上层组件的变化都可能会触发这个组件的render方法
- 优化点:useCallback禁止重复创建事件句柄
- memo & PureComponent & shouldComponentUpdate
- useMemo
中文输入法问题
用 onCompositionStart,onCompositionUpdate,onCompositionEnd
这三个事件来处理
- compositionstart 要开始输入中文
- compositionupdate 插入新字符
- compositionend ```jsx handleCompositionStart () { this.lock = true }
handleCompositionEnd (event) { this.lock = false this.handleChange(event.target.value) }
handleCompositionUpdate () { this.lock = true } ```