Skip to main content

パス関連など、各種情報 取得

概要

importオブジェクト用途
react-router-domuseLocation().pathnameURL のパス
@docusaurus/plugin-content-docs/clientuseDoc().metadata.source元の(=ビルド前の) md ファイルのパス
react-responsiveuseMediaQuery({ maxWidth: 767})スマホ判定

一覧にするためにつなげて書いたが、実際は分割代入などを組み合わせてスッキリさせる。

以下はコード例。

URL のパス

tsx
import { useLocation } from 'react-router-dom';

export default function Xxx(): ReactNode { // ReactNode でも JSX.Element でもOK
const location = useLocation();
console.log(location.pathname); // → /memo/python-memo/constants-and-package

実ファイルのパス

tsx
import { useDoc } from '@docusaurus/plugin-content-docs/client';

export default function Xxx(): ReactNode {
const { metadata } = useDoc();
console.log(metadata.source); // → @site/docs/04.memo/python-memo/03.constants-and-package.md

スマホ判定

tsx
import { useMediaQuery } from 'react-responsive';

export default function Xxx(): ReactNode {
const isMobile = useMediaQuery({ maxWidth: 767 }); // スマホ判定

要インストール

bash
npm install react-responsive

参考(共通)

tsx
export default function Xxx(): ReactNode { // ReactNode でも JSX.Element でもOK