Ссылка не перенаправляет на указанный путь в React - PullRequest
0 голосов
/ 24 апреля 2020

Я изучаю маршрутизатор React и добавил в Navbar и объявил маршрутизацию в другом файле. Ссылки не перенаправляют на указанный путь, но. Когда я пытаюсь дать теги, это работает отлично. Я даже пытался реализовать маршрутизацию в компоненте Nav, но это тоже не работает. Я мог бы использовать должным образом, я думаю. Вот скриншот проблемы и код.

Индекс. js

import ReactDOM from 'react-dom';
import React, { Component } from 'react'
import Nav from './Nav'
import App from './App';
import {
  BrowserRouter,
  Switch,
  Route,
  Redirect

} from "react-router-dom";
import Login from './Login';
import Signup from './Signup';
import Home from './Home';
import Notfound from './Notfound';
import Country from './Country'
import Fire from './Fire';


export default class Auth extends Component {
  constructor() {
    super();
    this.state = {
      user: {}
    }
    this.authListener = this.authListener.bind(this);
    this.logout=this.logout.bind(this);
  }
  componentDidMount() {
    this.authListener();
  }

  authListener = () => {
    Fire.auth().onAuthStateChanged((user) => {
      console.log(user);
      if (user) {
        this.setState({ user });
        console.log("if user" + user)
      } else {
        this.setState({ user: null });
        console.log("user not logged in")
      }
    });
  }

  logout= () => {
    Fire.auth().signOut();
  }

  render() {
    return (
      <div>
        <Nav user={this.state.user} logout={this.logout}/>
        <BrowserRouter>
          <Switch>
            <Route path="/signup">
              <Signup />
            </Route>
            <Route path="/login">
              <Login />
            </Route>
            <Route exact path="/data">
              <App />
            </Route>
            <Route path="/data/:id">
              <Country />
            </Route>

            <Route exact path="/">
              <Home />
            </Route>

            <Route path="/not-found" component={Notfound} />
            <Redirect to="/not-found" />

          </Switch>
        </BrowserRouter>
      </div>
    )
  }
}
ReactDOM.render(
  <Auth />
  ,
  document.getElementById('root')
);

Nav. js

import React from 'react'
import Navbar from "react-bootstrap/Navbar";
import Button from "react-bootstrap/Button";
import {
  BrowserRouter as Router,
  Switch,
  Route,
  Link

} from "react-router-dom";


export default function Nav(props) {
  return (
    <div>
      <Router>
        <Navbar bg="dark" variant="dark">


            <ul class="navbar-nav ml-auto">

              <li class="nav-item active">
                <Link to="/">Home</Link>
              </li>
              {!props.checkUser ?

                [<li class="nav-item">
                  <Link to="/login">Login</Link>
                </li>,
                <li class="nav-item">
                  <Link to="/signup">Register</Link>
                </li>] :
                [<li>
                  <Link to="/data">Data</Link>
                </li>,
                <li>
                  <Link onClick={props.logout}>Logout</Link>
                </li>]}
            </ul>

          </Navbar.Brand>
        </Navbar>
      </Router>
    </div>
  )
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...