3 回答

TA贡献2021条经验 获得超8个赞
您可以spread像这样使用运算符:
<NavBar {...this.state} />
它将状态属性作为道具传递给导航栏。
在您的Navbar组件中,您可以从中获取showSplashstate的值props.showSplash
如果要将数据传递到Navbar的子组件中,则可以执行以下操作:
<ChildComponent {...props} /> // if Navbar is a functional component
<ChildComponent {...this.props} /> // if Navbar is a stateful component

TA贡献1776条经验 获得超12个赞
如果希望所有子组件都可以访问数据,则可以选择以下选项:
反应上下文
Redux或状态管理库,例如flux等
或者如果您现在正在寻找问题,则可以按照@Abdelkarim EL AMEL的答案进行操作。我建议您看一下上述选项,以及设置可以在应用程序中任何位置访问的全局状态是否可以帮助您不向每个组件都明确。我更愿意为变量使用全局状态,这些变量是通用的,需要由根应用程序的所有子级访问。
例如,用于更改应用程序主题的按钮组件。它更改了根应用程序的状态,并且每个组件都可以访问它。

TA贡献1895条经验 获得超3个赞
我认为这实际上是完全可以的,建议您离开它。
如果您不希望在render方法的返回中看到它的详细信息,则可以将它们全部保留在一个名为navbarprops的对象中,然后将其散布在其中。我仍然更喜欢它!
添加回答
举报