【发布时间】:2018-01-24 11:29:41
【问题描述】:
我有以下反应组件:
<HashRouter>
<div className="App">
{/* Static section */}
<div>
<NavBar title="MyApp" />
</div>
{/* Dynamic section */}
<div>
<Route path="//" component={HomePage} />
<Route path="/market" component={MarketPage}/>
</div>
</div>
</HashRouter>
NavBar 组件期望渲染子组件,它们将根据 Ant 设计 component 表示网站内容。我的问题是如何在不重新渲染导航栏的情况下在导航栏组件内渲染我的子组件?我在导航栏中有一个 {this.props.children},但我不知道在不强制导航栏重新渲染的情况下注入道具的位置。
【问题讨论】:
-
如果您将孩子作为道具传递,那么 NavBar 将重新渲染。
-
传递孩子的方式是这样的
<NavBar title="MyApp"> children </NavBar>。然后你就可以在NavBar中访问this.props.children -
首先:你为什么要从道具中送出那些孩子?您可以将它们添加到
NavBar组件中吗?如果您真的必须从道具发送它们,那么您希望每次道具更改时都重新渲染 NavBar。
标签: javascript reactjs react-router react-router-dom