如何忽略javascript中的参数?

时间:2018-12-04 05:29:53

标签: javascript reactjs ecmascript-6

使用React时,我需要在Component类中重写componentDidUpdate方法。

componentDidUpdate(prevProps) {
    console.log(prevProps)
}

在这种情况下,IDE报告Incompatible override, should have signature '(prevProps: Readonly<P>, prevState: Readonly<S>, snapshot?: SS): void',所以我切换到了

componentDidUpdate(prevProps, prevState, snapshot) {
      console.log(prevProps);
}

然后IDE报告prevState is defined but never used。实际上,我不需要重写方法中的prevState。所以我可以忽略prevState参数吗?

1 个答案:

答案 0 :(得分:0)

似乎您正在使用打字稿。并且使用如下所示的方法显然会引发错误:

componentDidUpdate(prevProps) {
    console.log(prevProps)
}

您应该具有:

componentDidUpdate(prevProps: Readonly<P>) {
    console.log(prevProps)
}

如果您不使用任何东西,

componentDidUpdate() {
  console.log('did update')
}

那么它不会抛出错误。