Изменить параметр-router-dom только URL-адрес

Немного информации об этом ключевом слове

Давайте перечислим ключевое слово this на консоль в глобальной области без кода, но

console.log(this)

В Client / Browser this ] - глобальный объект, который является window

console.log(this === window) // true

и

В ключевом слове Server / Node / Javascript this также является глобальным объектом, который является module.exports

console.log(this === module.exports) // true
console.log(this === exports) // true

Имейте в виду, что exports - это просто ссылка на module.exports

1
задан Tholle 13 July 2018 в 16:32
поделиться

2 ответа

У вас должен быть только один компонент Router, предпочтительно как самый верхний компонент вашего приложения.

Пример

function Header() {
  return (
    <div>
      <Link to="/">Start</Link>
      <Link to="/offer">Offer</Link>
    </div>
  );
}

function App() {
  return (
    <Router>
      <div>
        <Header />
        <Switch>
          <Route exact path="/" component={Index} />
          <Route path="/offer" component={Offer} />
        </Switch>
      </div>
    </Router>
  );
}
1
ответ дан Tholle 17 August 2018 в 12:26
поделиться
  • 1
    На самом деле, я хочу, чтобы заголовок находился в другом компоненте. Это целая структура навигации. – Maciek Mesjasz 13 July 2018 в 16:11
  • 2
    @MaciekMesjasz Я не уверен, что понимаю. Header является отдельным компонентом в моем примере, это просто то же, что и Router с остальной частью приложения. – Tholle 13 July 2018 в 16:12
  • 3
    Но у меня возникла ошибка, когда ссылка не определена, когда ее внешний маршрутизатор – Maciek Mesjasz 13 July 2018 в 16:15
  • 4
    Я, наконец, понял это. большое спасибо – Maciek Mesjasz 13 July 2018 в 16:25
  • 5

Это потому, что Header не находится внутри маршрутизатора:

Попробуйте следующее:

<Router>
  <Header />
  <Switch>
    <Route exact path="/" component={Index} />
    <Route path="/offer" component={Offer} />
  </Switch>
</Router>

В компоненте Заголовок:

<div>
  <Link to="/">Start</Link>
  <Link to="/offer">Offer</Link>
<div>

0
ответ дан Maestro31 17 August 2018 в 12:26
поделиться
  • 1
    Все еще не работает :/ – Maciek Mesjasz 13 July 2018 в 16:09
  • 2
    Он работает для меня, показывает код для компонентов Index и Offer – Maestro31 13 July 2018 в 16:12
  • 3
    Индекс и компоненты предложения просто возвращают некоторый html. Что мне следует импортировать в мой компонент заголовка? – Maciek Mesjasz 13 July 2018 в 16:18
  • 4
    Следуйте инструкциям @Tholle, вам следует решить вашу проблему – Maestro31 13 July 2018 в 16:27
Другие вопросы по тегам:

Похожие вопросы: