Немного информации об этом ключевом слове
Давайте перечислим ключевое слово 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
У вас должен быть только один компонент 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>
);
}
Это потому, что 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>
Header
является отдельным компонентом в моем примере, это просто то же, что иRouter
с остальной частью приложения. – Tholle 13 July 2018 в 16:12