由mobx-react修饰的PureComponent抛出有关`shouldComponentUpdate`存在的错误

时间:2018-04-27 11:14:31

标签: reactjs mobx mobx-react react-16

在控制台中我看到了这个警告:

  

index.js:2178警告:Body有一个名为的方法   shouldComponentUpdate()。 whenComponentUpdate时不应该使用   扩展React.PureComponent。请扩展React.Component if   使用了shouldComponentUpdate。

Body组件正在使用

...
import { observer, inject } from 'mobx-react';
...
@inject('store')
@observer
class Body extends React.PureComponent<BodyProps> {
...

但在任何地方都没有此shouldComponentUpdate方法。

这是来自mobx-react吗?我可以在PureComponent@observable装饰的组件中使用@inject吗?

1 个答案:

答案 0 :(得分:3)

PureComponents不应与observer结合使用。从概念上讲,观察者使组件不纯,这很奇怪;因为他们可以在没有道具变化的情况下更新(这实际上是观察者的全部观点)。

即将推出的mobx-react版本将对此发出警告:)