Перенаправление с одной страницы на другую без указания пути к файлу в файле Routes. js - PullRequest
0 голосов
/ 02 марта 2020

Я новичок в Reactjs, и я использую Material-UI. Мой вопрос: я хотел go с одной страницы на другую, используя боковую панель и в Material-UI для перенаправления, обязательно показать, что страница в боковой панели, которая мне не нужна.

var dashRoutes = [
  {
    path: "/Dashboard",
    restricted: true,
    name: "Dashboard",
    icon: DashboardIcon,
    component: VesselInfoPage,
    layout: "/admin"
  },
  {
    path: "/Add/",
    name: "Add",
    icon: Group,
    component: AddPage,
    layout: "/admin"
  }
];

В приведенном выше коде Если я хочу go из Dashboard для добавления страницы, для этого необходимо показать эту страницу в маршрутах. js файл, который я не хочу.

1 Ответ

0 голосов
/ 02 марта 2020

В ответ вы всегда можете выполнить программирование c навигации, для этого вам нужно будет использовать историю API.

вот пример для того же

class Register extends React.Component {
  handleSubmit = (user) => {
    saveUser(user).then(() =>
      this.props.history.push('/dashboard')
    ))
  }
  render() {
    return (
      <div>
        <h1>Register</h1>
        <Form onSubmit={this.handleSubmit} />
      </div>
    )
  }
}

Если вы хотите чтобы узнать, что в деталях прочитайте это

Настоящей рабочей лошадкой React Router является библиотека History. Под капотом находится то, что отслеживает историю сессий для React Router. Когда компонент отображается в React Router, этому компоненту передаются три разных реквизита: местоположение, соответствие и история. Этот исторический реквизит происходит из библиотеки истории и содержит массу интересных свойств, связанных с маршрутизацией. В данном случае нас интересует история.pu sh. Что он делает, так это помещает новую запись в стек истории - он же перенаправляет пользователя на другой маршрут.

вот блог, в котором говорится об этом https://tylermcginnis.com/react-router-programmatically-navigate/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...