У меня есть приложение, реагирующее с использованием CRA, и я пытаюсь превратить его в приложение SSR, используя следующее. Итак, поскольку мало что изменилось, я изменил только:
- getInitialProps вместо useEffect и useState
- Ссылка из "next / link" вместо использования реагирующего маршрутизатора dom
Но когда я нажимаю на ссылку, я получаю жесткое обновление. Вот что генерирует ссылку:
<Link href={post.meta.slug}>
<a>{post.title}</a>
</Link>;
Я также пытался с href={post.meta.slug} as={post.meta.slug}
.
В моем каталоге страниц у меня есть:
И вот как я получаю сообщение в [slug].jsx
:
const PostPage = ({ post }) => {
return <Base>{post ? <Post post={post} /> : null}</Base>;
};
PostPage.propTypes = {
post: PropTypes.object,
};
PostPage.getInitialProps = async ({ query }) => {
const post = await getPostBySlug(query.slug);
return { post };
};
И до сих пор я не мог определитьошибка.
Вот полный код: https://gitlab.com/flakesrc/blog-webstation-next
Если вы хотите клонировать:
git clone https://gitlab.com/flakesrc/blog-webstation-next.git
cd blog-webstation-next
npm install
npm run dev