React v16.4.0发布

React v16.4.0发布

最大特征是支持Pointer Events

在ReactDOM中添加以下事件。这是因为React发觉它在移动端的应用场景越来越多,外置的injectTapEventPlugin已经不够用了。有了这事件,以后大家往移动端堆应用更轻松。

  • onPointerDown
  • onPointerMove
  • onPointerUp
  • onPointerCancel
  • onGotPointerCapture
  • onLostPointerCapture
  • onPointerEnter
  • onPointerLeave
  • onPointerOver
  • onPointerOut

修改getDerivedStateFromProps的行为。

现在每次进入组件都会触发该钩子。getDerivedStateFromProps原先是作为componentWillReceiveProps的取替品而诞生的,它是一个静态方法,目的是不让用户接触instance,也就不让用户操作instance.refs.xxx(DOM或其他实例),减少因为用户的误操作,破坏React的内部优化。

为了让用户能兼容之前的代码,官方还是教会大家一个怪招

static getDerivedStateFromProps(props, state) {
 const prevProps = state.prevProps;
 // Compare the incoming prop to previous prop
 const controlledValue =
    prevProps.value !== props.value
 ? props.value
 : state.controlledValue;
 return {
 // Store the previous props in state
    prevProps: props,
    controlledValue,
 };
}


添加一个新实验性API,用来调优性能React.unstable_Profiler

删除React Call Return 这两个内置组件

这是好事,anujs也懒得实现它们


其他就是日常的fix BUG工作