据我所知,如果我将父组件状态传递给子组件,那么该子组件将获得父组件的实时状态。
因此,在父状态中所做的更改也可以通过它出现的props立即在子中可用。
这个对吗?
据我所知,如果我将父组件状态传递给子组件,那么该子组件将获得父组件的实时状态。
因此,在父状态中所做的更改也可以通过它出现的props立即在子中可用。
这个对吗?
简短回答:props通过引用传递。
它可能会令人困惑的原因:如果您手动更改父组件的状态(不好的做法!),该对象也会在子组件中更改。但不会触发重新渲染!(子组件不会“知道”它的 props 已经改变。)所以你不会看到 UI 改变。
但是,如果您使用setState
(首选做法)更改父级的状态,则会通知子级,它必须重新渲染自身。
如果你将组件的状态作为 props 传递给它的子组件,那么如果父组件的状态发生变化,它会重新渲染,这也将使用刷新的属性重新渲染它的子组件。孩子们不像父母那样直接监听状态变化,他们只是作为父母状态变化和更新的结果而重新渲染。
看看这个 - https://facebook.github.io/react/docs/multiple-components.html。它将帮助您了解这个概念的工作原理。希望这可以帮助!
当组件的状态改变时,组件会被 React 重新渲染。在这样做的同时,它的子组件也会被重新渲染,这也会导致它们发生变化。