我在我的项目中使用NextLink
来创建链接,但是使用NextLink似乎会返回此错误Hydration failed because the initial UI does not match what was rendered on the server.
现在在检查控制台时,这是我得到的错误:Expected server HTML to contain a matching <a> in <a>.
当我更改为Link
时不会发生这种情况。
下面是导致错误的代码:
<Box flex={1} align="right">
<Box ml={2} display={{ base: 'inline-block', md: 'none' }}>
<Menu>
<MenuButton
as={IconButton}
icon={<HamburgerIcon />}
variant="outline"
aria-label="Options"
/>
<MenuList>
<NextLink href="/" passHref>
<MenuItem as={Link}> About</MenuItem>
</NextLink>
<NextLink href="/" passHref>
<MenuItem as={Link}> Work</MenuItem>
</NextLink>
</MenuList>
</Menu>
</Box>
</Box>
字符串
1条答案
按热度按时间rjzwgtxy1#
在渲染应用程序时,从服务器预渲染的React树与在浏览器中第一次渲染时渲染的React树(水合)之间存在差异。
https://nextjs.org/docs/messages/react-hydration-error