Работа над приложением, которое использует NextJS. Возникла следующая проблема. Когда у меня есть _document
файл, подобный этому:
import Document, { Head, Main, NextScript } from 'next/document';
import Header from '../components/header/header';
export default class MyDocument extends Document {
render() {
return (
<html>
<Head>
</Head>
<body>
<Header /> // Header is custom component
<Main />
<NextScript />
</body>
</html>
)
}
}
И мой заголовочный компонент выглядит следующим образом:
import React, { Component } from 'react';
import { withRouter } from 'next/router';
import Link from 'next/link';
class navigationMobile extends Component {
render() {
return (
<nav>
<Link href="/auth"><a>Auth</a></Link>
</nav>
);
}
}
export default withRouter(navigationMobile);
Поскольку эта ссылка размещена вне файла, она по какой-то причине перезагрузит страницу. Это приведет к потере состояния приложения и разрушению UX, а также к потере цели реализации чего-либо с помощью SPA.
Когда я размещаю компонент Header на самой странице, маршрутизация работает нормально. Проблема, однако, заключается в том, что мне придется разместить этот компонент на каждой странице.
Вопрос:
Есть ли способ не перезагружать страницу и при этом иметь компонент заголовка только в одном месте приложения?