この記事では、ReactやNext.jsで、npmパッケージ「react-device-detect」を利用して、使用端末に応じて表示を切り替える方法について紹介します。
ステップは以下の通りです。
スポンサーリンク
Next.jsやReactのアプリケーションで、ユーザーのデバイスごとに表示を切り替える方法はある?
この記事では、ReactやNext.jsで、npmパッケージ「react-device-detect」を利用して、使用端末に応じて表示を切り替える方法について紹介します。
ステップは以下の通りです。
最後までご覧いただき、参考にしていただけると幸いです。
スポンサーリンク
非常に簡単です。
TypeScriptを使用している場合は、--save-dev オプションをつけてインストールを行います。
npm install react-device-detect --save-dev
例として、Androidの場合は「これはAndroidです。」、iOSの場合は「これはiOSです。」、それ以外の場合は「モバイル端末ではありません。」と表示するコードを書いてみます。
'use client';
import { isAndroid, isIOS } from 'react-device-detect';
export default const Example = () => {
if (isAndroid) {
return <p>これはAndroidです。</p>;
} else if (isIOS) {
return <p>これはiOSです。</p>;
} else {
return <p>モバイル端末ではありません。</p>;
}
};
Next.jsの場合、react-device-detect はクライアントサイドでしか機能しないため、コンポーネントの先頭に必ず use client を宣言しましょう。エラーが発生しないこともあり、私も気づくのに時間がかかりました。
この例では isAndroid と isIOS を使用していますが、他にも多くの関数が用意されています。詳しくは次のリンクをご覧ください:react-device-detect
スポンサーリンク
私はVercelにプロダクトをデプロイしていたため、デプロイするまで動作の検証ができず、paddingのズレなど、さまざまな要因で何度もコミットをやり直すことになりました。
Chromeの検証ツールを使って動作確認ができそうでしたが、動作が少し不安定だったため、最終的に諦めました。もし検証ツールで正しく検証できるようであれば、ぜひ活用してください。
スポンサーリンク
ここまで、ユーザーのデバイスを判定して、端末ごとに表示を切り替える方法について紹介しました。
たった数行で実装できるということを知らなかったので、感動しました。
必要な場面があれば、ぜひ実装してみてくださいね。
ここまでお読みいただき、ありがとうございました。
スポンサーリンク
ダークモードに対応しました。画面右上から切り替えることができます。 2024年11月7日 |
Android版アプリ「リアル大学生:モバイル」がリリースされました。 2024年9月30日 |
RSSの不具合を修正しました。お手数ですが、新しいURLから再登録をお願いします。 2024年9月30日 |
iOS版アプリ「リアル大学生:モバイル」がリリースされました。 2024年8月3日 |
スポンサーリンク
スポンサーリンク