繁体   English   中英

react-router-dom@6.4.1 不渲染组件,也不记录任何错误

[英]react-router-dom@6.4.1 not rendering components and also not logging any errors

react-router-dom@6.4.1没有渲染组件。

我已经有一段时间没有编写 React 代码了。 我正在尝试使用react-router但似乎出了点问题。 没有发出错误,但组件不会呈现。 react-router的更新如此之多,很难跟上。

预习

链接到github 回购

这是我的根文件的示例。

import React from 'react';
import { createRoot } from 'react-dom/client';
import { Provider } from 'react-redux';
import { store } from './app/store';
import './index.css';
import {
  createBrowserRouter,
  RouterProvider,
  Route,
} from "react-router-dom";
import { Calendar, Message, Settings, Team } from './components';
import ErrorPage from "./error-page";
import Aside from './root';

const router = createBrowserRouter([
  {
    path: "/",
    element: <Aside />,
    errorElement: <ErrorPage />,
    children: [
      {
        path: "/messages",
        element: <Message />
      },
      {
        path: "/team-members",
        element: <Team />
      },
      {
        path: "/calendar",
        element: <Calendar />
      },
      {
        path: "/settings",
        element: <Settings />
      }
    ]
  }
]);

const container = document.getElementById('root')!;
const root = createRoot(container);

root.render(
  <React.StrictMode>
    <Provider store={store}>
      <RouterProvider router={router} />
    </Provider>
  </React.StrictMode>
);
function Dashboard() {
  return (
    <div>
      <h1>Dashboard</h1>
      <Outlet />
    </div>
  );
}

您可以从这里阅读: https://reactrouter.com/en/main/components/outlet

今天我遇到了同样的麻烦,这里是解决方案:

Go 到你的主容器,你想在那里看到孩子。 然后

import { Link, Outlet } from 'react-router-dom';

然后在要渲染项目的<div>中插入<Outlet />组件。

你的代码:如果你想呈现<Team/>你应该导入<Outlet/>到你想看到<Team/>的组件。

import React from 'react';
import { Link, Outlet } from 'react-router-dom';

const Aside = () => {
    return ( 
        <div>
            Welcome to Your personal gym
            <Link to='/login'>Log In</Link>
            <Link to='/registration'>Sign In</Link>
            <Outlet/>
        </div>
     );
}
 
export default Aside;

检查您的 css 布局,您的组件已渲染但样式不正确 [1]: https://i.stack.imgur.com/hdx4I.png

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM