代码之家  ›  专栏  ›  技术社区  ›  Assaf Moldavsky

使用内部视图反应路由器V4

  •  0
  • Assaf Moldavsky  · 技术社区  · 7 年前

    我来自Angular的背景,我试图用Angular的创造我之前知道的东西 ui-router .

    我想为应用程序创建一个主模板,该模板将有一个静态侧栏和视图,这些视图根据侧栏中单击的链接进行更改。

    尝试使用 react-router :

    <article id="my-app">
        <header>
            <h1>Oh my beautiful app!</h1>
        </header>
    
        <aside>
            <nav>
                <Link to="/"/>
                <Link to="/page1"/>
                <Link to="/page2"/>
            </nav>
        </aside>
    
        <section><!-- VIEW RENDERED HERE --></section>
    
        <footer></footer>
    </article>
    

    如果React不是这样做的,我想知道React为什么以及如何以正确的方式完成

    2 回复  |  直到 7 年前
        1
  •  1
  •   bunakawaka    7 年前

    不确定这是否是你所期望的,但我有点困了。卢兹。

    你可以这样做

    <Router>
       <Route path="/" render={() => <LayoutComponent><MyComponent /></LayoutComponent>} />
    </Router>
    

    {this.props.children}
    
        2
  •  0
  •   Assaf Moldavsky    7 年前

    好的,谢谢 为我指明了正确的方向。这不是解决方案,但为我指出了需要去的地方。

    这是解决方案。。。。

    <article id="my-app">
        <header>
            <h1>Oh my beautiful app!</h1>
        </header>
    
        <aside>
            <nav>
                <Link to="/">Dashboard</Link>
                <Link to="/account">Account</Link>
                <Link to="/about">About</Link>
            </nav>
        </aside>
    
        <section>
            <BrowserRouter>
                <Switch>
                    <Route exact path="/account" component={Account}/>
                    <Route exact path="/about" component={About}/>
                    <Route path="/" component={Dashboard}/>
                </Switch>
            </BrowserRouter>
        </section>
    
        <footer></footer>
    </article>