为什么在componentUpdate()中的nextProps和this.props相同?

我有一个简单的React应用,其中包含两个表单组件。

我读到默认情况下,任何状态更改时,React都会重新渲染所有组件。

为了提高性能,我想在用户更改表格1时停止重新渲染表格2,反之亦然。

当我在shouldComponentUpdate中返回false时,它将停止渲染该组件,这是正确的,但是当我添加逻辑比较以找出当前道具状态是否与nextProps状态不同时,它总是给我相同的结果。

Here is an example https://glitch.com/edit/#!/smoggy-emmental-jep3kk5ly?path=src/App.js:8:17

如果打开浏览器控制台,它将记录当前道具,并且nextProps还会指示正在重新渲染哪个组件。

您能告诉我,当用户更改表格1中的输入时,我应该怎么做才能停止重新呈现表格2?

还是我做错了什么?

我搜索了很多,但找不到有用的结果。

评论