React路由器嵌套路由不起作用

我的妈妈说我很特别

我的任务是打开Main products/,并打开Misc products/misc具有相同的布局(页眉和页脚),并打开About/about没有布局

import React from 'react';
import {render} from 'react-dom';

import {BrowserRouter as Router, Route, Switch, Link, Redirect} from 'react-router-dom'

const About = () => "About";
const Error = () => "404";

class AdvertsList extends React.Component {
    render() {
        let {match} = this.props;

        return (
            <div className="container">
                <header>Header</header>
                <main>
                    <nav>
                        <Link to="/">Main products</Link> #
                        <Link to="/misc">Misc products</Link> #
                        <Link to="/about">About</Link>
                    </nav>
                    <div className="content">
                        <Switch>
                            <Route path="/" exact={true} render={() => "Main products"}/>
                            <Route path="/misc" render={() => "Misc products"}/>
                            <Redirect to="/" />
                        </Switch>
                    </div>
                </main>
                <footer>Footer</footer>
            </div>
        )
    };
}

class App extends React.Component {
    render() {
        return (
            <Router>
                <Switch>
                    <Route path="/" exact={true} component={AdvertsList}/>
                    <Route path="/about" component={About}/>
                    <Route path="*" component={Error}/>
                </Switch>
            </Router>
        );
    }
}

render(<App/>, document.querySelector("#app"));

如果Main products打开/并且/about链接也可以正常工作/misc,尽管进行了所有exact设置,但链接不会404返回,我无法访问其他产品。

ChezFre

由于确切的属性,您的第一个路由仅解析为根,它不会解析任何其他路由。所以/misc自动跳到你的错误路线。

您可以将misc路由添加为组件上的另一个路由App组件。或通过

<Route path="/(|misc)" exact={true} component={AdvertsList} />

这将同时解析//misc到 AdvertsList ,而确切的属性仍然解析为 true。您可以通过添加额外的管道来添加其他路由,例如|misc|settings|varia

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

角UI路由器| $ stateParams不起作用

来自分类Dev

expressjs路由器不起作用

来自分类Dev

AngularJS UI路由器不起作用

来自分类Dev

AngularJS路由器配置不起作用

来自分类Dev

Phalcon PHP路由器notFound不起作用

来自分类Dev

AngularJS嵌套路由器不起作用

来自分类Dev

嵌套大猩猩Mux路由器不起作用

来自分类Dev

角UI路由器不起作用

来自分类Dev

名称中的ui路由器点不起作用

来自分类Dev

AngularJs-UI路由器嵌套视图不起作用

来自分类Dev

角UI路由器解析不起作用

来自分类Dev

Angular-UI路由器:嵌套视图不起作用

来自分类Dev

反应路由器isActive方法不起作用

来自分类Dev

角UI路由器的嵌套路由在带有圣经的ES6中不起作用?

来自分类Dev

反应路由器链接不起作用

来自分类Dev

Angular2嵌套路由不起作用

来自分类Dev

角路由器3 routerLink不起作用

来自分类Dev

Angular 8嵌套路由和多个路由器出口不起作用

来自分类Dev

嵌套路由器中的链接无法导航到父路由器的路由

来自分类Dev

匹配网址嵌套路由器不起作用时

来自分类Dev

AngularJS嵌套路由器不起作用

来自分类Dev

Angular嵌套ui路由器状态的SREF不起作用

来自分类Dev

角嵌套路由器-ui

来自分类Dev

ui路由器不起作用

来自分类Dev

Angular ui-router嵌套视图路由器不起作用

来自分类Dev

React-Router嵌套路由不起作用

来自分类Dev

Django REST嵌套路由器

来自分类Dev

反应路由器不起作用

来自分类Dev

React路由器V4不起作用