Back to list
dev_to 2026年4月17日

React 入門:NPM、NPX、JSX ルール、Fragments 他

React Essentials: NPM, NPX, JSX Rules, Fragments & More

Translated: 2026/4/17 11:12:09
reactnpmjsxvitefragment

Japanese Translation

1. NPM とは何ですか? NPM は Node Package Manager の略で、React プロジェクトの依存関係をインストール・管理するためのパッケージマネージャーです。React(および JavaScript 全般)において、NPM はパッケージ(ライブラリやツール)をインストール、管理、共有するためのツールです。 シンプルな説明 開発者のためのアプリストアのように考えてください。 NPM が React で何をするのか React アプリを構築する際、すべてを手から書きませんでした。React 自体、ルーティングライブラリ、UI ライブラリなどのパッケージを使用します。NPM は以下の作業を支援します:インストール(npm install)、更新(npm update)、削除(npm uninstall)。 重要なファイル:package.json このファイルはインストールされているすべてのパッケージを追跡し、NPM に自動管理されます。 2. NPX とは何ですか? NPX は Node Package Execute の略で、パッケージをグローバルにインストールせずに瞬時に実行するためのツールです。永久にインストールせずにパッケージを実行することを NPX は使用します。 なぜ NPX が必要なのか? NPX 以前 ツールを使用したい場合は、最初にインストールする必要がありました:npm install create-react-app 次に実行:create-react-app my-app NPX なら 直接実行できます:npx create-react-app my-app グローバルにインストールする必要はありません! 何が内部で起こっているのか? npx create-react-app my-app を実行すると、NPX は以下の処理を行います:パッケージがすでにインストールされているかチェックする。インストールされていなければ→一時的にダウンロードする。実行する。削除する(またはキャッシュする)。 リアルな類推 NPM = ソフトウェアを購入してラップトップにインストールする NPX = インストールせずにオンラインでアプリを使用する npm と npx の間の主要な違い npm run dev の dev とは何か? dev は package.json におけるカスタムスクリプト名であり、開発モードでプロジェクトを実行するために使用されます。dev は単なるスクリプト名です。npm でのキーワードではありません。 dev は从哪里来的? あなたのプロジェクト内部には以下のファイルがあります:package.json 例: { "scripts": { "dev": "vite", "start": "react-scripts start", "build": "vite build" } } npm run dev を実行すると、NPM は以下の処理を行います:package.json に移動する。"scripts" 内部を検査する。"dev" を見つける。割り当てられたコマンドを実行する。この場合:vite dev は通常何を意味するか? dev = 開発モード 以下に使用されます:ローカルでアプリを実行する。ライブリロード(自動更新)。 高速な開発。 例(Vite と React で) "scripts": { "dev": "vite" } 実行:npm run dev 開始:ローカルサーバー(例:http://localhost:5173) リアルな類推 scripts = リモートコントロールボタン dev = 1 つのボタン名 npm run dev = そのボタンを押すこと Fragment は、DOM に追加的な HTML タグを加えずに複数の要素をグループ化するために使用されます。React における Fragment は、DOM node を追加することなく複数の要素をグループ化することを可能にします。 Fragment が必要なのはなぜか? React では、複数の要素を直接返すことができません。以下のエラーが発生します:return ( HELLO World )React は 1 つの親要素を必要とします。 Solution 1(通常の方法) return ( HELLO World )問題:DOM に余分な要素を追加します(常に必要なものではありません)。 Solution 2(Fragment) return ( HELLO World )余分の DOM 要素が作成されません。 簡易記法(最も一般的) return ( <>HELLOWorld</> )これは Fragment 短縮記法と呼ばれます。 Fragment はなぜ重要か? DOM を保ちます。不要なものを取り除きます。パフォーマンスをわずかに向上させます。テーブル、リスト、レイアウトなどに役立ちます。 リアルな類推 Fragment = 見えない箱 アイテムを保持しますが、箱は見えません。 4. JSX のルール 単一の親要素を返す必要があります。間違い:return ( HELLO World )正しい:return ( HELLO World )タグは適切に閉じられる必要があります。間違い:正しい:JSX は厳格です(XML のように)。className を class の代わりに使用します。間違い:正しい:class は JavaScript のキーワードです。 インラインスタイルはオブジェクトである必要があります。間違い:正しい: {{}} は2つある:外側 = JavaScript、内側 = オブジェクト 5. 最終的なまとめ NPM、NPX、JSX、Fragments、および React の制御フローを理解することによって、モダンな React アプリを効率的に開発する強固な基盤を構築できます。

Original Content

1. What is mean by npm? NPM- Node Package Manager NPM is a package manager used to install and manage dependencies in a React project. In React (and JavaScript in general), npm is a tool used to install, manage, and share packages (libraries or tools). Simple Explanation Think of npm like an app store for developers What NPM does in React When you build a React app, you don’t write everything from scratch. You use packages like: React itself Routing libraries UI libraries npm helps you: Install them → npm install Update them → npm update Remove them → npm uninstall Important File package.json This file keeps track of all installed packages Managed by npm automatically 2. What is mean by NPX? NPX stands for Node Package Execute NPX is a tool used to execute Node packages instantly without installing them globally. NPX is used to run packages without installing them permanently Why we need NPX? Before NPX If you want to use a tool, you had to install it first: npm install create-react-app Then run it: create-react-app my-app With NPX You can directly run: npx create-react-app my-app No need to install it globally! What happens internally? When you run: npx create-react-app my-app NPX will: Check if the package is already installed If not → download it temporarily Run it Remove it (or cache it) Real-life analogy NPM = Buying a software and installing it on your laptop NPX = Using an app online without installing Key Difference between npm and npx What is dev in npm run dev? dev is a custom script name in package.json used to run the project in development mode. dev is just a script name It is not a keyword in npm Where does dev come from? Inside your project, there is a file: package.json Example: { "scripts": { "dev": "vite", "start": "react-scripts start", "build": "vite build" } } What happens when you run: npm run dev NPM will: Go to package.json Look inside "scripts" Find "dev" Execute the command assigned to it In this case: vite So what does dev usually mean? dev = development mode Used for: Running your app locally Live reload (auto refresh) Fast development Example (React with Vite) "scripts": { "dev": "vite" } Running: npm run dev Starts: Local server (like http://localhost:5173) Real-Life Analogy scripts = Remote control buttons dev = One button name npm run dev = Pressing that button A Fragment is used to group multiple elements without adding extra HTML tags to the DOM A Fragment in React lets you group multiple elements without adding extra nodes to the DOM. Why Fragment is needed? In React, you cannot return multiple elements directly This will give error: return ( HELLO World ) React needs one parent element Solution 1 (normal way) return ( HELLO World ) Problem: Adds extra in DOM (not always needed) Solution 2 (Fragment) return ( HELLO World ) No extra DOM element created Short Syntax (most used) return ( <> HELLO World </> ) This is called Fragment shorthand Why Fragment is important? Keeps DOM clean Avoids unnecessary Improves performance slightly Useful in tables, lists, layouts Real-Life Analogy Fragment = Invisible box Holds items But you can’t see the box 4.Rules of JSX Must return a single parent element Wrong: return ( HELLO World ) Correct: return ( HELLO World ) Every tag must be properly closed Wrong: Correct: JSX is strict (like XML) Use className instead of class Wrong: Correct: Because class is a JavaScript keyword Inline styles must be objects Wrong: Correct: Double {}: Outer = JavaScript Inner = object 5.Final Takeaway Understanding core concepts like NPM, NPX, JSX, Fragments, and React’s control flow builds a strong foundation for developing modern React applications efficiently.