代码之家  ›  专栏  ›  技术社区  ›  Jithesh Kt

将多个路由指向同一组件

  •  0
  • Jithesh Kt  · 技术社区  · 6 年前

    这是我的路线结构

    路由器 <开关> <route exact path='//component=主页/> <route path='/view/:title'组件=主页/> </switch> </router>

    如您所见,我将两条路径都指向我的家庭组件。在Home组件中,在Home组件的渲染方法中有三个子组件。

    例如,<header/>、<sidebar/>和<content/>。

    我要实现的是再次调用组件的render()方法并只更新区域。

    我已经在防止不必要的更新<header/>和<sidebar/>usingshouldComponentUpdate。但是,当路由到组件调用时,我无法找到调用render()方法的方法。<home/>component。

    <Header />, <Sidebar /> and <Content />.

    <Header /> and <Sidebar /> shouldComponentUpdate <Home />

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ryan Wheale    6 年前

    <Router>
      <Switch>
         <Route exact path='/'>
            <Home ref="root" />
         </Route>
         <Route path='/view/:title'>
            <Home ref="view" />
         <Route>
      </Switch>
    </Router>
    

    const App = () =>
      <div>
        <Header />
        <SideBar />
        <Router>
          <Switch>
             <Route exact path='/' component={MainPage} />
             <Route path='/view/:title' component={ViewPage} />
          </Switch>
        </Router>
      </div>