将componentDidUpdate(prevProps)重写为一个钩子

时间:2019-04-20 14:04:39

标签: javascript reactjs react-hooks

我想将此生命周期方法重写为一个钩子:

componentDidUpdate(prevProps) {
  if (this.props.lng !== prevProps.lng && this.props.lat !== prevProps.lat) {
    this.map.setView(new L.LatLng(this.props.lat, this.props.lng), 6);
  } else if (this.props.mapTheme !== prevProps.mapTheme) {
    this.setMapTheme(this.props.mapTheme);
  }
}

我知道使用useEffect挂钩,但是找不到一个很好的例子。

1 个答案:

答案 0 :(得分:1)

useEffect(() => {
  this.map.setView(new L.LatLng(this.props.lat, this.props.lng), 6);
}, [this.props.lng, this.props.lat]);

useEffect(() => {
  this.setMapTheme(this.props.mapTheme);
}, [this.props.mapTheme]);