Creation:2026-06-22Last update:2026-06-22
将此文档参考到您的 AI 助手ChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
使用您最喜欢的AI助手总结文档,并引用此页面和AI提供商
版本历史
- "添加 usePathname 实用工具"v10.0.02026/6/23
- "初始化历史记录"v8.2.02026/6/22
此页面的内容已使用 AI 翻译。
查看英文原文的最新版本Edit this doc
If you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy
Copy doc Markdown to clipboard
React 集成: usePathname Hook 文档
react-intlayer 中的 usePathname hook 返回当前浏览器的路径名(pathname),并已移除区域设置(locale)段。它依赖于原生的 window.location.pathname,并通过 popstate 对浏览器导航事件做出响应。
导入 usePathname
typescript
复制代码
复制代码到剪贴板
import { usePathname } from "react-intlayer";概览
与特定于框架的路由 hooks(例如 next-intlayer 或 react-router 中的那些)不同,此 hook 是一种轻量级的、与框架无关的解决方案,适用于纯 React 应用程序。它会提取当前的 URL,并去掉任何匹配的区域设置前缀(例如,/zh/about 会变成 /about)。
使用
src/components/Navigation.tsx
复制代码
复制代码到剪贴板
import type { FC } from "react";
import { usePathname } from "react-intlayer";
const Navigation: FC = () => {
const pathname = usePathname();
return (
<nav>
<a
href="/home"
style={{ fontWeight: pathname === "/home" ? "bold" : "normal" }}
>
首页
</a>
<a
href="/about"
style={{ fontWeight: pathname === "/about" ? "bold" : "normal" }}
>
关于
</a>
</nav>
);
};
export default Navigation;返回值
显示表格的所有内容
在弹窗中打开表格以清晰地查看所有数据
| 类型 | 描述 |
|---|---|
string | 当前浏览器的路径名(pathname),已移除区域设置前缀(例如:/zh/dashboard → /dashboard)。 |
行为
- 区域设置剥离:在底层使用
getPathWithoutLocale实用程序,根据应用程序的 Intlayer 配置自动检测并从路径名中移除区域设置。 - 响应性:监听
popstate事件。当用户使用浏览器的前进/后退按钮导航时,或调用pushState/replaceState时,hook 会更新返回的路径名。 - SSR 回退:在服务器端(
window未定义),它默认返回/,因为在纯 React 上下文中,默认情况下它无法访问请求 URL。