hooks - Hashimoto-Noriaki/react-calendar GitHub Wiki

import { useContext } from 'react'
import { LoginUserContext } from '../providers/LoginUserProvider';

export const useLoginUser = () => {
//LoginUserContext から現在の値を取得。これが undefined の場合=Providerで囲まれていない ということ
  const context = useContext(LoginUserContext);
//エラーを明示的に投げて、開発者に「Providerで囲んでないよ!」と気づかせる。これがあることで安全なコードになる
  if(context === undefined) {
    throw new Error('useLoginUser must be used within a LoginUserProvider');
  }
  return context; //context(つまり { loginUser, setLoginUser })を返す。呼び出し元でこれを使えば、ログインユーザー情報に簡単にアクセス可能
}