首页 > 解决方案 > 使用 React 16.3.2 时未调用 UNSAFE_componentWillReceiveProps

问题描述

我遵循了https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path中的建议,升级到 React 16.3.2 后,我想重命名我们所有的很快将被弃用的生命周期方法与其UNSAFE_等价物。

但是我注意到UNSAFE_componentWillReceiveProps根本没有调用它。当我将其更改回componentWillReceiveProps它时,它可以工作。任何想法为什么?

class Chart extends React.Component<ChartProps> {
  chartContainer: SVGSVGElement;
  tooltip: HTMLDivElement;
  xScale: ScaleBand<string>;
  yScale: ScaleLinear<number, number>;

  UNSAFE_componentWillReceiveProps(nextProps: Props) {
    ...
  }
...
}

标签: javascriptreactjstypescript

解决方案


我发现了这个问题。react-dom软件包也需要升级到 16.3.2 版本。


推荐阅读