Die Blattroute stimmte mit keinem Element oder keiner Komponente am Standort „/home' überein.
P粉190883225
P粉190883225 2023-09-15 13:44:41
0
1
623

Wenn ich versuche, zu einem anderen Bildschirm zu routen, erhalte ich immer wieder die Fehlermeldung „Die passende Blattroute am Standort „/home“ hat kein Element oder keine Komponente.“ Dies bedeutet, dass standardmäßig eines mit einem Nullwert gerendert wird <Outlet />, was dazu führt, dass die Seite nicht angezeigt wird sei leer.“

import './App.css';
import { BrowserRouter as Router, Routes, Route } from "react-router-dom"
import React from "react";
import Home from './Screens/Home';
import Sleep from './Screens/Sleep';
import Brew from './Screens/Brew';
import Navigation from './Navigation';
import Steam from './Screens/Steam';

function App() {
  return(
    <div className="App">
      <Router>
        <Navigation/>
        <Routes>
          <Route exact path="/home" component={<Home />} />
          <Route path="/sleep" component={<Sleep />} />
          <Route path="/brew" component={<Brew />} />
          <Route path="/steam" component={<Steam />} />
        </Routes>
      </Router>
    </div>
  )
}

export default App;

Navigation.js, Navigation auf der unteren Registerkarte für die Weiterleitung zwischen Bildschirmen

import React from 'react';
import { Nav, NavItem } from 'reactstrap'
import { NavLink } from 'react-router-dom';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faSearch, faHome, faUserCircle } from '@fortawesome/free-solid-svg-icons';

const tabs = [{
  route: "/home",
  icon: faHome,
  label: "Home"
},{
  route: "/sleep",
  icon: faSearch,
  label: "Sleep"
},{
  route: "/brew",
  icon: faUserCircle,
  label: "Brew"
},{
  route: "/steam",
  icon: faUserCircle,
  label: "Steam"
}]

const Navigation = (props) => {
  return (
    <div>
      {/* Bottom Tab Navigator*/}
      <nav className="navbar fixed-bottom navbar-light" role="navigation">
        <Nav className="w-100">
          <div className=" d-flex flex-row justify-content-around w-100">
            {tabs.map((tab, index) => (
              <NavItem key={`tab-${index}`}>
                <NavLink to={tab.route} className="nav-link bottom-nav-link" activeClassName="active">
                  <div className="row d-flex flex-column justify-content-center align-items-center">
                    <FontAwesomeIcon size="lg" icon={tab.icon} />
                    <div className="bottom-tab-label">{tab.label}</div>
                  </div>
                </NavLink>
              </NavItem>
            ))}
          </div>
        </Nav>
      </nav>
    </div>
  )
};

export default Navigation;

Ich habe mehrere Lösungen ausprobiert, aber keine hat funktioniert. Ich habe das Gefühl, dass das etwas damit zu tun hat, dass ich mehrere Codeschnipsel vermische und versuche, sie zusammenzufügen.

P粉190883225
P粉190883225

Antworte allen(1)
P粉010967136

react-router@6的Route组件使用一个element属性,接受一个ReactNode(例如JSX)或Component属性,接受一个React Element。

查看Route的element/Component。

<Router>
  <Navigation />
  <Routes>
    <Route path="/home" element={<Home />}/>
    <Route path="/sleep" element={<Sleep />} />
    <Route path="/brew" element={<Brew />} />
    <Route path="/steam" element={<Steam />}/>
  </Routes>
</Router>

或者

<Router>
  <Navigation />
  <Routes>
    <Route path="/home" Component={Home}/>
    <Route path="/sleep" Component={Sleep} />
    <Route path="/brew" Component={Brew} />
    <Route path="/steam" Component={Steam}/>
  </Routes>
</Router>

换句话说,不要使用上面的第二个示例,因为它是一种非优化的方法。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage