Перенаправление после завершения действия с помощью react-router-dom V5.

#reactjs #web-applications #screen #router

#reactjs #веб-приложения #экран #маршрутизатор

Вопрос:

У меня возникли проблемы с навигацией между экранами с помощью react-router-dom. Что я пытаюсь сделать, так это то, что после завершения действия я хочу перейти на другой экран. Извините за вопрос новичка, но я впервые работаю с react.

Комментарии:

1. Что вы уже пробовали?

Ответ №1:

если вы используете перехваты, используйте перехват истории использования react-router domshttps://reactrouter.com/web/api/Hooks

например:

 import { useHistory } from "react-router-dom";

function HomeButton() {
  let history = useHistory();

  function handleClick() {
    history.push("/home");
  }

  return (
    <button type="button" onClick={handleClick}>
      Go home
    </button>
  );
}
  

Ответ №2:

попробуйте использовать эти команды

 this.props.history.push("/Home")// use this for class component 
props.history.push("/Home")// functional component  (and pass props to the component)
  

Пример:

 function LoginComponent(props) {

  const handleClick=()=> {
    props.history.push("/home");
  }

  return (
    <button type="button" onClick={handleClick}>
      Go home
    </button>
  );
}
  

и убедитесь, что вы написали маршруты в app.js

 import { BrowserRouter as Router, Route } from "react-router-dom";
import Home from "./components/Home";

        <Router>
          <Route path="/home" component={Home} />
        </Router>