Nextjs 你可能忘记了从定义它的文件中导出你的组件,或者你可能混淆了默认导入和命名导入

Nextjs You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports

我正在使用 nextjs 路由系统,我想 import 像这样的其他名称 :

import { Link as NavLink } from 'next/link';

const Link = ({ to, nav, children, ...props }) => {
    const { exact, activeClassName } = props;
    return (
        <NavLink href={to} rel="noopener noreferrer">
            {children}
        </NavLink>
    );
};

export default Link;

但是它一直返回这个错误!你有什么想法吗?

Link 不是 next/link 的命名导出,因此您不能以这种方式导入它 - next/link 导出通常导入为 Link 的默认组件.您需要导入该默认导出(这意味着没有括号),然后您可以在技术上将其命名为您想要的任何名称作为您的导入变量。

import NavLink from 'next/link'

const Link = ({ to, nav, children, ...props }) => {
  // Use NavLink here
  ...
}

export default Link