在React文档中,它说:
默认情况下,当组件的状态或props更改时,组件将重新渲染。
我理解状态变化会引起重新渲染,但是对于props变化,我不太确定。据我所知,props总是从父组件传递到子组件。当父组件重新渲染(例如由于状态改变),所有子组件也会重新渲染(忽略shouldComponentUpdate)。因此,如果父组件重新渲染,则所有子组件都将重新渲染,无论我是否向它们传递了新的props。如果我确实向子组件传递了新的props,那么子组件重新渲染的原因仅仅是因为父组件正在重新渲染,而不是因为我传递了新的props。
是否存在这样的场景:父组件向子组件传递新的props导致子组件重新渲染,但这不仅仅是因为父组件重新渲染导致的?
是否可能看到一个例子,其中一个组件将重新渲染,因为它收到了新的props,而不是因为父组件重新渲染(或者它自己的状态发生了变化)?
对不起,如果这是一个基础问题,我是React的新手。
编辑:我看到Redux可以通过传递新的props来导致组件重新渲染,我想知道Redux在背后做了什么来实现这一点。
默认情况下,当组件的状态或props更改时,组件将重新渲染。
我理解状态变化会引起重新渲染,但是对于props变化,我不太确定。据我所知,props总是从父组件传递到子组件。当父组件重新渲染(例如由于状态改变),所有子组件也会重新渲染(忽略shouldComponentUpdate)。因此,如果父组件重新渲染,则所有子组件都将重新渲染,无论我是否向它们传递了新的props。如果我确实向子组件传递了新的props,那么子组件重新渲染的原因仅仅是因为父组件正在重新渲染,而不是因为我传递了新的props。
是否存在这样的场景:父组件向子组件传递新的props导致子组件重新渲染,但这不仅仅是因为父组件重新渲染导致的?
是否可能看到一个例子,其中一个组件将重新渲染,因为它收到了新的props,而不是因为父组件重新渲染(或者它自己的状态发生了变化)?
对不起,如果这是一个基础问题,我是React的新手。
编辑:我看到Redux可以通过传递新的props来导致组件重新渲染,我想知道Redux在背后做了什么来实现这一点。