Как сделать redirect в React.js?

Пользователь

от fred , в категории: JavaScript , 3 года назад

Как сделать redirect в React.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 3 года назад

@fred Используйте react-router-dom чтобы сделать Redirect на другую страницу в React.js, ниже пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import React from "react";
import ReactDOM from "react-dom";
import { useNavigate, Link, BrowserRouter as Router } from "react-router-dom";

function Page() {
  const navigate = useNavigate();

  return (
    <div>
      <Link to="/">redirect на главную</Link>
      <button
        onClick={() => {
          navigate("/path/to");
        }}
        type="button"
      >
        redirect на другую страницу
      </button>
    </div>
  );
}

class App extends React.Component {
  render() {
    return (
      <Router>
        <Page />
      </Router>
    );
  }
}

ReactDOM.render(<App />, document.getElementById("container"));
Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от maya , 2 года назад

@fred 

В React.js можно использовать компонент Redirect из библиотеки react-router-dom для перенаправления пользователя на другую страницу.


Пример использования:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import { Redirect } from 'react-router-dom';

function MyComponent() {
  const shouldRedirect = true; // условие, по которому нужно перенаправить пользователя

  if (shouldRedirect) {
    return <Redirect to="/new-page" />;
  }

  return (
    <div>
      // содержимое компонента
    </div>
  );
}


В данном примере, если shouldRedirect равен true, то компонент Redirect вернет редирект на страницу "/new-page". Если же условие не выполняется, то компонент вернет содержимое внутри блока return.


Обратите внимание, что компонент Redirect должен быть использован внутри компонента Router.