reactjs - React 路由器在 URL 栏中不起作用,但它仍然适用于 <Link> 标签

标签 reactjs react-router

所以我有一个类似于文档中的路线:<Route path="*"><Redirect to={'/'}/></Route> .
如果路由不存在,请确保所有路由都指向“/”。
我所有的路线都使用 <Link>标签,但当我在 URL 栏中键入它们时不会。
怎么会这样?我在网上找不到这方面的信息。
索引文件:

    return(
  <Fragment>
    <BrowserRouter basename={`/`}>
    <Switch>
        <App>
            <TransitionGroup>
                {routes.map(({ path, Component }) => (
                    <Route key={path} exact path={`${process.env.PUBLIC_URL}${path}`}>
                        {({ match }) => (
                            <CSSTransition in={match != null} timeout={100} classNames={anim} unmountOnExit>
                                <div><Component/></div>
                            </CSSTransition>
                        )}
                    </Route>
                ))}

                <Route exact path="*"><Redirect to={'/'}/></Route>

            </TransitionGroup>
        </App>
    </Switch>
    </BrowserRouter>
  </Fragment>
  )
路由文件:
export const routes = [
    {
            path:`/`,
            Component:Home
    },
    {
            path:`/login`,
            Component:Login
    },
    {
            path:`/signup`,
            Component:Signup
    },
    {
            path:`/event/:name`,
            Component:Event
    },
    {
            path:`/create-event`,
            Component:CreateEvent
    },
]
链接标签:
<Link to={"/event/" + events[i].name} className="text-dark">

最佳答案

从 react 路由器文档,<Switch> 的所有 child 应该是 <Route><Redirect>元素。只会呈现与当前位置匹配的第一个 child 。
我可以看到 <Route>不是 <Switch> 的直系或第一个 child

关于reactjs - React 路由器在 URL 栏中不起作用,但它仍然适用于 <Link> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69328971/

相关文章:

reactjs - react 引导导航栏填充

javascript - 在 react 钩子(Hook)上使用 Prop 值(value)不好吗?

javascript - react 依赖于路由器参数的获取数据 HoC

javascript - 如何使用 ReactJS 运行一个包含一个部分的登陆页面?

node.js - 在后端、React 和 React-Native 客户端之间共享 TypeScript 代码

javascript - 使用重组组件作为 ref 时丢失功能

javascript - 如何捕获输入元素的文件,以便我可以将其作为参数传递给 react 中的另一个函数

javascript - 当我导航到主包不加载的嵌套路由时使用 React.js 延迟加载

reactjs - 如何为每个 Material-UI TableRow 添加 <Link> react 路由器?

ReactJS - 为不同的 URL(路由路径)提供不同的内容,因此它看起来像一个多页面应用程序