在我的代码中,link.url 正在更改,但 pathName 没有更改?

问题描述 投票:0回答:1

在我的代码中,link.url 正在更改,但 pathName 没有更改。我想为我的网站提供动画过渡,但它不支持,因为 pathName 和 link.url 不匹配。

"use client"

import Link from 'next/link'
import { usePathname } from 'next/navigation'

const Navlink = ({link}) => {

        const pathName = usePathname();
        console.log("link.url:", link.url);
        console.log("pathName:", pathName);

    return (
        <Link className={'rounded p-1 ${pathName === link.url && "bg-black text-white" }'} href={link.url}>
        {link.title}</Link>
    )
}

export default Navlink

出现此错误

⚠ Fast Refresh had to perform a full reload due to a runtime error.
link.url: /
pathName: /portfolio
link.url: about
pathName: /portfolio
link.url: portfolio
pathName: /portfolio
link.url: contact
pathName: /portfolio

我想我会得到一个好的解决方案,正如我所期望的。

javascript next.js tailwind-css web-development-server next.js14
1个回答
0
投票

使用单引号 (') 而不是反引号 (

 
) 来定义模板文字似乎存在错误。

这是更正后的版本:

{链接.标题}

通过此更正,类名称将被正确插值,并且当 pathName === link.url 时将应用条件类 bg-black text-white。

<Link className={`rounded p-1 ${pathName === link.url && "bg-black text-white"}`} href={link.url}>
    {link.title}
</Link>
© www.soinside.com 2019 - 2024. All rights reserved.