反应路由器V6-未发现组件不能与动态参数/段塞一起工作?

React Router V6 - NotFound component not working with dynamic parameter/slug?(反应路由器V6-未发现组件不能与动态参数/段塞一起工作?)

本文介绍了反应路由器V6-未发现组件不能与动态参数/段塞一起工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经安装了"react-router-dom": "^6.0.0-beta.0"并创建了一些页面路由。如果页面不存在,则面临Page404/NotFound组件无法工作的问题。由于某种原因,当我使用动态页面/帖子slug时,如果没有具有此ID的页面/帖子,NotFound组件将无法工作。

Reaction路由器内部是否有解决此问题的选项?

import { BrowserRouter as Router, Routes, Route } from "react-router-dom";

import AllPosts from "components/AllPosts";
import SinglePost from "components/SinglePost";
import NotFound from "components/Page404";

const App = () => (
  <Router>
    <Routes>
      <Route element={<AllPosts />} path="/" exact />
      <Route element={<SinglePost />} path="/:slug" />
      <Route element={<NotFound />} path="*" />
    </Routes>
  </Router>
);

export default App;

推荐答案

  1. 尝试删除Exact,因为已从V6中删除,并确保Page404是正确的组件或创建Notfin.jsx

  2. 检查帖子是否不存在,然后重定向到NotFound页面。

这篇关于反应路由器V6-未发现组件不能与动态参数/段塞一起工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:反应路由器V6-未发现组件不能与动态参数/段塞一起工作?

基础教程推荐