TR Output

フロントエンドエンジニアの備忘録

【TypeScript】型安全にJSON.parse()を使う

function safeJsonParse<T>(jsonString: string): T | null {
  try {
    const parsedData = JSON.parse(jsonString);
    if (typeof parsedData === 'object' && parsedData !== null) {
      return parsedData as T;
    }
  } catch (error) {
    console.error("JSONパースエラー:", error);
  }
  return null;
}

// ex
const parsedData = safeJsonParse<JsonType>(jsonString);

Zodというライブラリでより堅牢な型チェックも可能な模様

最近のReact(Next.js)開発で気付いたこと

React v18 関連

  • StrictMode により初回に2回マウントされる 想定した挙動と違って少し戸惑ったので。
    • (Next.js であれば next.config.js から無効にできる)
  • React.FC 型 から children が除外される
    • React.VFC はもう使わない
    • children を明示的に指定する (children: ReactNode)