人们通常如何在React应用程序中获得"全局"数据?
例如,假设用户登录到我的应用程序后,我有以下数据.
user: {
email: 'test@user.com',
name: 'John Doe'
}
这是我的应用程序中几乎所有组件都想知道的数据,因此它可以在登录或注销状态下呈现,也可以在登录时显示用户的邮箱地址.
据我所知,在子组件中访问该数据的方法是,顶级组件拥有该数据,并使用属性将其传递给子组件,例如:
<App>
<Page1/>
<Page2>
<Widget1/>
<Widget2 user={user}/>
</Page2>
</App>
但这对我来说似乎很难,因为这意味着我必须通过每个组合传递数据,才能将数据传递给需要它的子元素.
Is there a React way of managing this type of data?
Note: This example is very simplified - I like to wrap intents up as composites so implementation details of entire UI features can be drastically changed as I see fit.
EDIT:我知道默认情况下是calling setState
on my top level component would cause all child components to be re-rendered,在每个子组件中,我可以使用我喜欢的任何数据(例如全局数据,而不仅仅是状态或props )进行渲染.但是,人们如何 Select 只通知某些子组件应该呈现它们呢?