Невозможно использовать функцию React Router - PullRequest
0 голосов
/ 13 июня 2018

Я создаю новое веб-приложение, использующее реагирование JS с реагированием маршрутизатора.Когда я запускаю приложение, появляется сообщение об ошибке «You should not use <Route> or withRouter() outside a <Router>».Я поделился своими файлами Main.js и Index.js.

enter image description here

Main.js:

import React, { Component } from "react";
import {Route,NavLink,HashRouter} from "react-router-dom";
import About from "./components/About";
import Contact from "./components/Contact";
import DashBoard from "./components/DashBoard";
import Home from "./components/Home";
import logo from './logo.svg';
import './App.css';

class Main extends Component {
  render() {
    return (
        <hashRouter>
        <div>
        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h1 className="App-title">Welcome to React</h1>
        </header>
          <h1>Simple SPA</h1>
          <ul className="header">
            <li><NavLink  to="/">Home</NavLink ></li>
            <li><NavLink  to="/Dashboard">Dashboard</NavLink ></li>
            <li><NavLink  to="/About">About</NavLink ></li>
            <li><NavLink  to="/contact">Contact</NavLink ></li>
          </ul>
          <div className="content">
            <Route path="/" component={Home}/>
            <Route path="/Dashboard" component={DashBoard}/>
            <Route path="/contact" component={Contact}/>
          </div>
        </div>
        </hashRouter>
    );
  }
}

export default Main;

Index.js:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import Main from './Main'
import registerServiceWorker from './registerServiceWorker';

ReactDOM.render(<Main/>, document.getElementById('root'));

registerServiceWorker();

1 Ответ

0 голосов
/ 13 июня 2018

Ваш Router должен находиться за пределами Main, поэтому ваш index.js должен выглядеть следующим образом:

ReactDOM.render(
    <HashRouter>
        <Main />
    </HashRouter>
), document.getElementById('root'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...