反応クエリの使用に問題があります。サーバーからの応答が Unauthorized である場合は常に、useQuery はフラグ status='success' および isError=false を返します。サーバーの応答ステータスは 401 で、json 応答の内容は です{ error: true, message: 'UNAUTHORIZED' }
。反応クエリをカスタマイズしませんでした。
ReactQueryConfigProviderを使用していないか、呼び出しでオプションを渡して動作をカスタマイズしていません。
これは呼び出しです:
const { status, data, error } = useQuery(
["hotelsList", { token: token }],
getHotels
);
そして、これはサービスです:
const getHotels = async ({ token }) => {
const uri = process.env.REACT_APP_API_ENDPOINT_v2 + `/hotels`
return (await fetch(uri, {
method: "get",
headers: {
Authorization: "Bearer " + token,
"Content-Type": "application/json"
}
})).json()
}
トークンが無効であるため、サーバーは 401 ステータス コードとカスタム json 応答で応答しています。
これは、react-query のデータ オブジェクトとエラー オブジェクトです。