为了账号安全,请及时绑定邮箱和手机立即绑定

ReactJS 路由器没有导航到指定的组件

ReactJS 路由器没有导航到指定的组件

郎朗坤 2022-01-13 10:50:17
我对反应路由器很陌生。我创建了一个带有导航栏的页面,可以导航到两个页面中的任何一个。在其中一个页面中,我有一系列链接应该指向另一个组件。我的应用程序组件处理初始路由            <Router>                    <nav className ="nav">                        <Link to='/' className="nav__nav-link-logo link"><img src={Logo} className="nav__nav-logo" alt="A figure that depicts school"></img></Link>                        <button onClick={this.handleBarClick} className="nav__nav-bar-icon link"><FontAwesomeIcon icon={faBars} /></button>                        <div className="nav__text-and-icon" style={{display : this.state.navTextDisplay}}>                            <Link to = '/' className="nav__text link"><FontAwesomeIcon icon={faHome} className="icon" />  Home </Link>                            <Link to = '/pages/Contact/Contact' className="nav__text link"><FontAwesomeIcon icon={faPhoneAlt} className="icon"/>  Contact the Dev</Link>                        </div>                    </nav>                    <Switch>                        <Route exact path='/' component = { Home } />                        <Route exact path='/' component = { Home } />                        <Route path='/pages/Contact' component = { Contact } />                        <Route component={NotFoundPage}/>                    </Switch>           </Router>然后主组件呈现我想要完全导航到另一个组件的链接列表。PS:这与嵌套路由无关但后来我的路线将各个链接链接到我的 404(未找到页面)
查看完整描述

2 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

试试这个。


class APIRoutes extends React.Component {

 ...

 render() {

    return (

        <Switch>

            {this.state.apiResponse.map((item, index) => {

                return (

                    <Fragment>

                        ...

                        <Route

                            path="/component/SchoolDetails"

                            render={props => (

                                <SchoolDetails {...props} details={item} />

                            )}

                        />

                    </Fragment>

                );

            })}

        </Switch>

    );

}

并且具有的组件 Router


<Router>

   ...

<Switch>

    <APIRoutes />

    <Route exact path='/' component={Home}/>

    <Route path='/pages/Contact' component={Contact}/>

    <Route component={NotFoundPage}/>

</Switch>

</Router>


查看完整回答
反对 回复 2022-01-13
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

试试这个对我有用,


用于菜单栏导航的用户 Navbar React 引导插件,


npm 包:从 'react-bootstrap' 导入 {Navbar, Nav,NavItem, NavDropdown, MenuItem,Glyphicon, Label};


`


</Navbar.Header>


<Navbar.Collapse>


    <Nav>

        <NavItem eventKey={1} href="#/Dashboard">

            Dashboard

        </NavItem>


        <NavDropdown eventKey={3} title="Tickets" id="basic-nav-dropdown">

            <MenuItem eventKey={3.1}>

                <NavLink exact to={ "/Home"}>Home</NavLink>

            </MenuItem>

            <MenuItem eventKey={3.2}>

                <NavLink exact to={ "/Gallary"}>Gallary</NavLink>

            </MenuItem>

    </Nav>

    </NavDropdown>

</Navbar.Collapse>

  <NavDropdown eventKey={3} title="Tickets" id="basic-nav-dropdown">

    <MenuItem eventKey={3.1} ><NavLink exact to={"/Home"} >Home</NavLink></MenuItem>

    <MenuItem eventKey={3.2}><NavLink exact to={"/Gallary"}>Gallary</NavLink></MenuItem>  

</Nav>


npm package:


 import {Route, BrowserRouter,NavLink,HashRouter , Switch} from 'react-router-dom';


`


查看完整回答
反对 回复 2022-01-13
  • 2 回答
  • 0 关注
  • 178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号