# monotein > React・Next.js・TypeScriptなど、フロントエンド開発を中心とした技術書の著者・三好アキ(Aki Miyoshi)による技術情報サイトです。React・Next.js・TypeScript・Node.jsの入門書を30冊以上執筆し、Amazonベストセラー1位を複数回獲得。プログラミング入門から実践的なウェブアプリ開発まで、日本語で丁寧に解説しています。 このファイルは全ブログ記事の本文を含む完全版です。目次のみの版は https://monotein.com/llms.txt を参照してください。 --- # 📌 自己紹介(三好アキについて) URL: https://monotein.com/blog/self-introduction 公開日: 2026.5.15 概要: Amazonベストセラー著者・三好アキの自己紹介です。非IT系出身という経験から生まれた「専門用語なしで教える」スタイルと、教材制作への思いを語ります。 ## 自己紹介 こんにちは、【専門用語なしでプログラミング】を教えている三好アキです。 私はReactやNext.jsなどのフロントエンド開発ツールを中心に、教材制作、書籍執筆、法人向け研修の仕事をしています。 2020年4月に事業を始めてもう6年以上経っていますが、初めて自己紹介の記事を書きます。 --- 私のバックグランドは非IT系です。 大学の専攻も、卒業後の進路も、まったくITには関わりのない分野です。 そういう中で、私がプログラミングを学び始めて苦しんだのは、コード自体ではありません。 言葉でした。 --- • オブジェクト\ • メソッド\ • ファンクション\ • プロパティ\ • インスタンス\ • 戻り値 --- 私は海外に長年いたので英語は抵抗なく使えますが、それでもこういったカタカナを含むプログラミングの専門用語が理解できませんでした(英語についてはこちら)。 しかし、こういう専門用語に何度もつまずいた経験があるからこそ、「専門用語なしでプログラミングを教える」ということが大きな軸になっています(プログラミングを始めた理由はこちら)。 たかが言葉、されど言葉です。 言葉は大きな影響力を持っています。 • 知らない言葉\ • 意味がつかめない言葉\ • なじみのない言葉 これらが文章の中にひとつあるだけで、私たちはつまずき、心を閉ざし、内容が頭に入ってこなくなります。 --- 「正しくあること」は重要です。 特にプログラミングという情報セキュリティにも大きく関わる分野では、正確性が重要であることは論をまちません。 しかし、「正しさ」と「分かりやすさ」はしばしば相反するものです。 そのような時、プログラミングを学び始めたばかりのビギナーにとって大事なことはどちらか。 私は「分かりやすさ」であると考えます。 まずは分かってもらう。\ まずは馴染んでもらう。\ そして、「自分にもできるかも」という小さな自信をつかんでもらう。 正確性を追求するのは、その後でも遅くありません。 --- 私はアプリ開発を「ものづくり」だと考えています。 そして「ものづくり」はとても楽しいことです。 自分の手でひとつひとつ作り上げ、そしてようやく完成させたときの喜びに勝るものはありません。 そして「自分にできた!」という感覚は、自分への信頼を高めてくれます。 人生をもっと楽しくしてくれます。 しかしこういうところへと至るまでには、いくつもの壁があります。 ひとつは教材の壁です。 多くのプログラミング教材は、網羅性を重視した知識の羅列になっていたり、「正しさ」にこだわりすぎてスムーズに進められない構成になっています。 ビギナーが非常に失敗しやすい作りになっているのです。 私自身、かつてそういう教材を使って挫折しました(詳しくはこちら)。 ビギナーにとって大事なことは、最初から完璧に理解することではありません。 「自分にもできた!」という「小さな成功体験」をできるだけ早く作ることです。 成功とはどんなに小さくても嬉しいものです。 そして一度味わうと、病みつきになります。 小さな成功体験があると、「もっと知りたい!」「もっと学びたい!」と、自発的に勉強を進めていくことができるのです。 「新しいことを知ること」 つまり、 「昨日はできなかったことが、今日はできるようになっていること」 これは人生で味わえる喜びの中でも、最大のものの一つでしょう。 (「小さな成功体験」についての私の考えはこちら) --- そして私が「専門用語なしでプログラミング」というテーマを掲げている理由。 「言葉」というものに気付かぬうちにつまずいているビギナーが、実はたくさんいるからです。 「オブジェクト」や「連想配列」や「メソッド」といったプログラミング特有の言葉。 これらの言葉のせいで、先ほど触れた通り、私自身がプログラミングにとっつきにくさを覚え、まったく先に進めませんでした。 そしてこれは実は私だけでなく、他の多くのIT系のバックグランドをもっていないビギナーに共通するものだったのです。 しかしその言葉を超えていけば、楽しさを味わえます。 人生を充実したものに変えてくれる「楽しさ」です。 そういう気持ちを多くのビギナーに味わってもらいたいと思っています。 ### このサイトでまず読んでほしい記事 「専門用語なしでプログラミング」という考え方で、6年以上ブログを書いてきました。 ReactやNext.jsの学習に必要な内容は、テーマごとに次の6つの記事にまとめています。 興味のあるものから読んでみてください。 --- • 【2026年版】React + Vite完全スタートガイド|初心者向けにすべて解説【2026年版】Reactはなぜ難しいのか?初心者がつまずく理由と乗り越え方を全解説【2026年版】TypeScript入門完全ガイド|React開発者向けにTSの始め方を全解説【2026年版】ReactサーバーコンポーネントとReact 19完全ガイド|RSC・SSR・SPAを2分で理解【2026年版】React初心者のための学習ロードマップ|何から始めるべきか完全解説【2026年版】Next.js完全スタートガイド|初心者向けにすべて解説 --- また「専門用語なしでプログラミング」というテーマで、私はこれまでにReact/Next.js/TypeScriptなどの教材を制作してきました。 ありがたいことに何度もAmazonベストセラーになった本もあり、個人の学習者だけでなく、企業やチームの研修でも教材を使っていただいています。 翔泳社から出ている『[動かして学ぶ!Next.js/React開発入門](https://www.shoeisha.co.jp/book/detail/9784798184678)』は、2025年に韓国でも翻訳・販売されました。 ![image](../../images/singleBlogPageImages/blogArticleImages/blog155/example-book.jpg)
![image](../../images/singleBlogPageImages/blogArticleImages/blog171/korean-ver-read.jpg)
また、Amazonに数多くあるReact書籍の中で、拙著『[はじめてつくるReactアプリ with TypeScript](https://www.amazon.co.jp/dp/B094Z1R281)』がもっとも高い評価の本になっています(レビュー数100以上のReact書籍との比較)。
![image](../../images/singleBlogPageImages/blogArticleImages/blog247/react-ts-book-no1.jpg)
その他、プログラミング技術書やブログ記事を6年以上書いており、複数の記事がGoogleランキングで1位になっています。 • 「Next.js React + Vite」関連キーワード Google検索1位 ▼\ (monotein.com/blog/react-vite-or-nextjs-which-to-choose
![image](../../images/singleBlogPageImages/blogArticleImages/blog247/which-react-next.jpg)
(この辺りのことについて、こちらの記事で詳しく触れています) とはいえ、それなりの期間執筆をしていると、「その本はどれだけの間読まれるのか/読めるのか」といった「本の賞味期限」について考えます。 詳しくは下記記事をご覧ください▼
個人的な話では、私は海外(イギリスやポーランドなど)で暮らしていた期間が長く、今も一年の半分近くは海外にいます。 海外クライアントの案件に関わってきた経験から、日本語ではまだ情報の少ない新しい技術やツールの情報を、日本の学習者や現場に分かりやすく届けることも心がけています。 なお、本サイトも私が開発しています。使っている技術や移行の経緯はこちらの記事に書いています。 本ウェブサイトやメルマガ、noteでは、フロントエンド開発の最新情報や学び方の話をしているので、ぜひご覧ください。 【メルマガ】 [monotein.com/register-newsletter](https://monotein.com/register-newsletter) 【Amazon著者ページ】 [amazon.co.jp/stores/author/B099Z51QF2](https://www.amazon.co.jp/stores/author/B099Z51QF2) 【note】 [note.com/monotein](https://note.com/monotein) ## 私が一番力を入れている教材 これまでにReactやNext.jsについて数多くの記事や本を書いてきました。 その集大成として制作したのが、「Reactマスター」と「TypeScriptマスター」です。 教材を作った理由やリリースから2年間の歩み、利用者の声などについては、下記の記事にまとめています。
「React × TypeScriptマスター」についてより詳しく知りたい方は、下記画像の下部にリンクがあります。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/self-introduction) --- # GatsbyからAstro(バージョン7)へ移行しました URL: https://monotein.com/blog/astro-migrate-from-gatsby 公開日: 2026.7.2 更新日: 2026.7.20 概要: 本サイトをGatsbyからAstro(バージョン7)へ移行しました。GraphQLをやめてContent Collectionsに置き換えた話、画像コンポーネントの移行でつまずいた話、View Transitionsを入れて外した話、Netlifyのbuild時間が4分半から20秒になった話など、移行で実際に手を加えたことをまとめています。 ## GatsbyからAstroに移行 先日、本サイトをGatsbyからAstroに移行しました。 バージョンは、6月にリリースされたばかりのAstroバージョン7です。 Lighthouseの「Performance」スコアが「100」になるなど、スピードが大きく上がりました。 ![astro-lighthouse-score.jpg](../../images/singleBlogPageImages/blogArticleImages/blog261/astro-lighthouse-score.jpg) 日本ではAstroを使っている人がまだ少ないので、少し今回のAstro移行の話を書いていきます。 ## Gatsbyとの6年間 本サイトでは、事業を立ち上げた2020年からずっとGatsbyを使っていました。 その時のバージョンはv2です。 いま過去のブログを読み返してみると、「[Gatsbyのバージョンを2から3に上げた](/blog/gatsby-v3-upgrade)」、そして「[3から4に上げた](/blog/gatsby-v4-upgrade)」という記事がそれぞれあります。 3から4に上げたのが2021年11月なので、5年近く何もしていなかったようです。 しかしこのGatsby、2022年リリースのバージョン5で開発が止まっています。 そのため「このままGatsbyを使い続ける」という選択肢はなく、「移行しないといけないな」とはここ数年ずっと思っていました。 が、そこまで強いモチベーションがなかったのも事実。 Gatsbyでも、そこまで危機的に困っていることはありませんでした。 「自サイトの刷新は優先順位が低い」という、よくある話です。 --- 困り事を挙げるとすれば....... • 6年以上運用している中で、内部のコードがスパゲッティ化していたこと • サイトデザインが一部古くなっていたこと • Hot reloadの動きが不安定なこと • ターミナルに依存関係のエラーが出ること そして、buildに時間がかかること --- Gatsbyに個人的な思い入れがあったことも、移行を先延ばししていた間接的な理由だったかもしれません。 初めてGatsbyを触ったとき、ページ遷移のあのスピードには感動しました。 今でも印象深く残っています。 些細なことですが、些細なことが記憶には強く残るものです。 それでも、サイト内のブログ記事を大きく整理したことをきっかけに、Astroへの移行もすることにしました。 ## Claude Codeで移行 移行作業の大部分で使ったのがClaude Codeです。 とはいえ、丸投げではなく、まずAstroのv7のドキュメントをClaude Codeに読み込ませ、出てきたコードをチェックしながら進める、という流れです。 私は以前Astroを使っていたことがあるので、Astroの基礎部分は知っていました。 しかし今年3月にv6が出て、それにキャッチアップする間もなく6月にv7が出たため、その2つのバージョンで加えられた変更に沿ったコードをClaude Codeに書かせていきました。 --- 本サイトは[静的サイト](/blog/what-is-ssg)で、特に複雑なロジックはありません。 ベース部分の移行に1、2時間ほど、その確認・修正に数日、といった感じです。 AIツールで本当に開発の景色は変わったなと思います。 手間と時間が大きく短縮されました。 しかしそれは「調べる」、「コードを書く」というマニュアル作業の部分が大幅に減ったということが大きく、成果物の確認やチェックということには、これまでと同じ、あるいはこれまで以上に時間がかかっていると感じます。 以下、Gatsby → Astro移行について、コードと一緒に少し詳しく見ていきましょう。 ## 一番大きく変わったのはデータの扱い方 GatsbyからAstroへの移行で最も大きく変わったのが、データ関係の部分です。 Gatsbyではデータ操作にGraphQLを使っていました。 マークダウンファイルの本文もfrontmatterも、すべてGraphQLのクエリ経由で読み込みます。 例えば全記事のパスと前後記事を取り出すには、`gatsby-node.js`の中で次のようなクエリを書いていました。 ```js // gatsby-node.js(Gatsby時代) exports.createPages = async ({ actions, graphql }) => { const { createPage } = actions return await graphql(` { allMarkdownRemark( sort: { fields: [frontmatter___id], order: DESC } limit: 1000 ) { edges { node { fields { slug } frontmatter { categoryTagJP categoryTagEN } } next { frontmatter { path title } } previous { frontmatter { path title } } } } } `).then((res) => { // ここで createPage を呼んでページを作る }) } ``` GraphQLは便利ではありますが、frontmatterに項目を1つ足すたび、クエリにも同じ項目を書き足さないといけません。 それを忘れると、データが取れずエラーになります。 `allMarkdownRemark`や`edges`、`node`といったGatsby独特の書き方も、久しぶりに触ると思い出すのに時間がかかります。 AstroではContent Collectionsを使うので、GraphQLはまるごと不要になりました。 Content Collectionsでは、まず記事のfrontmatterがどういう形なのかを`src/content.config.ts`で一度だけ定義します。 ```ts // src/content.config.ts import { defineCollection, z } from "astro:content" import { glob } from "astro/loaders" const blog = defineCollection({ loader: glob({ pattern: "**/*.md", base: "./src/content/blog" }), schema: ({ image }) => z.object({ id: z.string(), path: z.string(), title: z.string(), categoryTagJP: z.string(), categoryTagEN: z.string(), // ...以下、必要な項目を並べていく }), }) export const collections = { blog } ``` あとは記事一覧を取り出したいところで、`getCollection("blog")`を呼ぶだけです。 前後記事のリンクも、GraphQLの`next`や`previous`を使わず、取り出した配列を自分でソートして前後を決められます。 ```ts // src/pages/blog/[slug].astro import { getCollection } from "astro:content" const posts = await getCollection("blog") // id順に並べて、前後の記事を決める const sorted = [...posts].sort( (a, b) => Number(a.data.id) - Number(b.data.id) ) ``` frontmatterに項目を足したいときも、`content.config.ts`のスキーマに1行足すだけです。 書き忘れれば型エラーで教えてくれるので、Gatsby時代のように「クエリに書き忘れて動かない」ということも起きません。 この部分はAstro移行でラクになった部分のひとつです。 ## つまずいたのはマークダウン内の画像 Astro移行で少し手間がかかったのが、マークダウンファイル内の画像とHTML記法の扱い方です。 Gatsby時代、私は記事の中に下記のような装飾付きのHTMLを直接書いていました。 ```html
``` 私の本の表紙画像を、Amazonへのリンクカードとして見せるためのもので、HTML記法で画像を表示しています。 画像は`src`内の`images`フォルダに置き、``タグの相対パスで読み込んでいました。 Gatsby内のマークダウンファイルでは、この書き方でも正しく表示されます。 一方、Astroではこの書き方が使えません。 Astroで`src`内の画像を使うには、その画像をimportする必要があるからです。 しかしマークダウンファイルで`import`は当然使えません。 ここで``のように相対パスで書いても、Astroはビルド時に画像として認識しないため、`src`以下の画像は表示されません。 かといって、HTMLブロックの中に通常のマークダウンファイルの画像表示の記法`![ ](...)`を書いても、画像として表示されないのです(下記コード参照)。 ```html
![Book Cover](../../images/commonImg/react-book-ts-ai.svg)
``` HTMLブロックの中ではマークダウン記法が解釈されないからです。 この解決策はいくつかありました。 --- • 装飾部分をAstroコンポーネントにして記事から呼ぶ • 独自記法をHTMLへ変換するremarkプラグインを書く • 記事を`.md`ではなく`.mdx`にする • 画像を`public`フォルダに移す --- まず最初の2つの方法は、すぐに選択肢から消えました。 画像にそんな大袈裟なことをしたくないからです。 そして記事は現状の`.md`で管理したいので、MDX化も選択肢から消えます。 最後の`public`フォルダを使う方法。これがもっとも楽です。 しかし少しためらいがあった理由は、画像をすべて`src`配下に入れておきたかったからです。 `public`との2箇所の管理はしたくなかったのです。 しかし考えてみると、マークダウン内でHTMLとともに表示させたい画像は私の本の表紙画像だけで、数にして35個ほど。 そしてそれは今後急激に増えることもない。 さらに画像は全てSVGなので、Astroの画像最適化の恩恵はなくてもいい。 なので、最終的には`public`内に必要な画像を移しました。 `public`内の画像は``のように、絶対パスでそのまま読み込めます。 HTMLの装飾もつけられます。 本文で`![ ]()`として使う画像はこれまでどおり`src`に置き、表紙画像のようなHTMLタグと一緒に装飾したい画像だけ`public`に置く、という分け方に着地しました。 ## View Transitionsを入れて、外す Astroには、ページ遷移をなめらかにするView Transitionsという機能があります。 ページ全体を再読み込みせず、必要な部分だけ差し替えて遷移させる機能です。 SPAのようにスムーズに動くようになります。 Gatsbyのあのスピーディなページ遷移が好きだった私としては、View Transitionsはぜひ入れたい機能でした。 なのでAstro移行作業が9割ほど終わったタイミングで、サイト全体に導入しました。 ```astro // src/layouts/Layout.astro --- import { ClientRouter } from "astro:transitions" --- ``` ところが問題が起こりました。 本サイトにはフォームがいくつかあり、そこではスパム対策にreCAPTCHAを使っています。 View Transitionsは通常のページ再読み込みをしないため、遷移でreCAPTCHAのトークン生成が壊れ、フォーム送信が403エラーになってしまうのです。 「フォームのあるページだけView Transitionsを無効にする」という回避策も考え、一度その仕組みも作りました。 しかし本サイトにはフォームが複数のページにあり、一部の部分が意図通りに動きません。 そこに別の仕組みを当てることも考えましたが、今回の移行の方針として「例外的なコードや機能は使いたくない」というのがありました。 今後長く運用していく中で必ず内部のコードは絡まっていくので、始まりの段階で複雑なことはしたくなかったのです。 なのでView Transitionsの導入は見送りました。 ## Deploy時に気をつけたこと 一番気を使ったのは、従来のGatsby版サイトのSEO評価への影響です。 特に注意したのがURL、具体的には末尾のスラッシュ(Trailing Slash)。 Gatsby版では、URL末尾のスラッシュ無しを正規のURL(canonical)としていました。 ```shell • スラッシュなし https://monotein.com/blog/react-vite-how-to-use • スラッシュあり https://monotein.com/blog/react-vite-how-to-use/ ``` Astro版でも末尾のスラッシュは消したかったため、`astro.config.mjs`に次のコードを加えました。 ```js trailingSlash: "never", ``` しかしNetlifyでは、このようなフレームワーク側の設定を上書きするようにURLが変更されることがあります。 そのため、「Project configuration」→「Post processing」→「Pretty URLs」にある「Enable Pretty URLs」のチェックを外しています。
![netlify-pretty-urls.jpg](../../images/singleBlogPageImages/blogArticleImages/blog261/netlify-pretty-urls.jpg)
スラッシュひとつの有無でも、Googleは「異なるURL」と認識してSEOに大きな影響を与えるので、移行時には注意しましょう。 ## build時間が4分半から20秒に ここからは移行して良かったことです。 一番大きいのはbuild時間の短縮。 Gatsby版ではNetlifyでのbuildに4分半かかっていました。 これがAstroに変えてみると20秒ほどになりました。 私のサイトは更新頻度も少ない単なる静的サイトなので、buildに時間がかかっても大きな問題ではなかったのですが、これほど短くなると、サイトを更新する時の妙な抵抗感は無くなります。 Gatsby時代は、記事の誤字脱字の修正といった微調整・微修正をしても、その直後にはbuildをしていませんでした。 そういう小さな修正がいくつか溜まってからbuildをかけていたのです。 しかし今は、どんなに小さな修正でも気楽にbuildをかけられるようになりました。 ## 移行のついでに手を入れたこと 大枠の移行が終わったあとも、細かい改善をいくつか続けています。 例えばsitemapに、各記事の最終更新日(`lastmod`)を出すようにしました。 これは`astro.config.mjs`の中で、全記事のfrontmatterから更新日を読み取って組み立てています。 ```js // astro.config.mjs(一部) // 各記事のfrontmatterから更新日を読み、sitemapのlastmodに使う const update = raw.match(/^update:\s*"([^"]+)"/m)?.[1] const date = raw.match(/^date:\s*"([^"]+)"/m)?.[1] const lastmod = update && update !== "none" ? update : date ``` Gatsbyのプラグインに任せていた部分を、Astroでは自分で書けるので、こうした細かい調整がやりやすくなりました。 また今回の刷新に合わせて、AIO/AI Optimization対策用の`llms.txt`の設置、著書一覧ページの新設([https://monotein.com/books](/books))、全ページに構造化データ (JSON-LD)を設置といったことも行なっています。 ## おまけ:Prefetchはオンにしましょう Astroでは、デフォルトでPrefetchがオフになっています。 Prefetchの有無で体感のスピードは大きく変わるので、快適なページ遷移のためにはオンにしておきましょう。 下記のコードでサイト全体でオンになります。 ```js // astro.config.mjs import { defineConfig } from "astro/config" export default defineConfig({ prefetch: { defaultStrategy: "viewport" } }) ``` より細かなカスタマイズも可能です。 詳しくは[Astro公式ページ](https://docs.astro.build/en/guides/prefetch/)をご覧ください。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/astro-migrate-from-gatsby) --- # 【2026年版】Next.js完全スタートガイド|初心者向けにすべて解説 URL: https://monotein.com/blog/guide-nextjs 公開日: 2026.6.22 更新日: 2026.6.25 概要: Next.jsの基礎からRSC・Server Actions・React 19新機能まで初心者向けに全解説。セットアップ方法、Viteとの違い、App Routerの使い方、Vercelへの公開方法まで網羅したガイド記事です。 ## Next.jsとは何か? Reactを使ったウェブ開発で、いま最も使われているフレームワークが「Next.js(ネクストジェーエス)」です。 「フレームワーク」とは、開発に必要な機能をあらかじめセットにしたツール。 しかし、なぜReact開発でそのようなツールが必要なのでしょうか? 実はReactはそれ単体では、追加設定が必要になる機能が多くあります。 --- • SEOに有効なサーバーサイドレンダリング\ • ファイルベースのルーティング\ • サーバー機能(APIの開発)\ • 画像・フォントの最適化 --- これらをすぐに使える状態でパッケージ化したのがNext.jsになります。 「Reactをベースにしたフルスタックのウェブフレームワーク」という説明がよくされますが、要するに「Reactでできること以上のことができるツール」と理解しておけば十分です。 ## Next.jsとReact + Viteの違い Next.jsの話をすると必ず出てくる疑問があります。 「_React + ViteとNext.js、どちらを選ぶべきか?_」 大まかな使い分けはこうなります。 --- • シンプルなウェブアプリや管理画面 → React + Vite • SEOが重要なウェブサイト → Next.js • バックエンドも一緒に開発したい → Next.js • とにかくシンプルに始めたい → React + Vite --- これだけではどちらを選ぶべきか決められない人には、詳しい解説があります。 React + ViteとNext.jsの違いと選び方を解説した記事です▼
なお、「そもそもReact + Viteとは何か?」、そして「Reactの基礎も知りたい」という人は下記ガイドを参考にしてください。 包括的に解説しています▼
## Next.jsのセットアップ方法 ### Node.jsの確認 Next.jsを使うにはNode.jsが必要です。 ターミナルで下記を実行して確認してください。 ```shell node -v ``` バージョン番号が表示されればインストール済みです。 表示されない場合は[Node.jsの公式サイト](https://nodejs.org)からLTS版をインストールしましょう。 さて、「なぜフロントエンド開発でNode.jsが必要なのか?」と思う人がいるかもしれません。 その理由は下記記事で解説しています。1分で読めます▼
### インストール ターミナルで次のコマンドを実行します。 ```shell npx create-next-app ``` いくつか質問が出てきますが、下記のように答えてください。これ以外は「No」で大丈夫です。 ```shell ✔ Would you like to use TypeScript? → 「Yes」 ✔ Would you like to use React Compiler? → 「Yes」 ✔ Would you like to use Tailwind CSS? → 「No」 ✔ Would you like to use App Router? (recommended) → 「Yes」 ``` 特に「App Router」は必ず「Yes」を選んでください。 Next.jsバージョン13以降の標準的な開発スタイルに対応するために必要です。 インストールから起動、そしてコードの書き方までのより詳しい手順を知りたい方は、こちらの記事も参考にしてください▼
### 起動する インストールが完了したら次のコマンドを実行します。 ```shell cd my-app npm run dev ``` ブラウザで`http://localhost:3000`を開くと、Next.jsの画面が表示されます。 これが「Next.js開発のスタートライン」です。 なお開発中にモバイル端末での表示も確認したい場合は、こちらの記事も参考にしてください▼ • Next.js開発中、画面の表示をモバイル端末で確認する方法 ## Appフォルダ(App Router)について知っておくこと Next.jsバージョン13から、「App Router」がデフォルトになりました。 構造上の最大の特徴は「フォルダ名がそのままURLになる」ことです。 たとえば`app/blog/page.tsx`を作ると、`/blog`というURLのページが完成します。 覚えておきたい特殊なファイルが3つあります。 --- • `page.tsx` → そのURLのページを表示するファイル • `layout.tsx` → すべてのページに共通して適用されるレイアウト • `loading.tsx` → データ取得中に表示されるローディング画面 --- Appフォルダで変わった点、知っておくと便利なことを20個以上まとめた記事はこちらです▼
Next.jsがSEOに強いとはいえ、メタデータの設定はマストです。 クライアントコンポーネントへのメタデータ設定方法を解説している記事があります。 参考にしてください▼
## Gatsbyのことも少し(余談) かつてNext.jsには「Gatsby(ギャツビー)」という強力なライバルがいました。 Reactベースの静的サイトジェネレーターで、私自身も数年間はNext.jsよりGatsbyを好んで使っていました。 ページ遷移のスピードや、マークダウンブログの扱いやすさが気に入っていたからです。 しかしその後GatsbyはNext.jsに追い抜かれ、現在は開発がほぼストップしています。 2026年のReactフレームワーク選びで、Gatsbyを選ぶ理由はありません。 現在多くの開発者が検討する選択肢は、Next.js、React + Vite、Astroの3つです。 なお、いま出てきた「静的サイトジェネレーター」とは、Static Site Generationという、Next.jsでも現役で使われているレンダリング技術です。 いま出てきたAstroを含めた静的サイトジェネレーターについては、下記記事でまとめてあります(なお、本サイトではAstro v7を使っています)▼
## RSC・SSR・SPA・MPA — レンダリングの流れを理解する Next.jsを理解するうえで、避けて通れない概念があります。 「MPA」「SPA」「SSR」「RSC」という4つの技術の違いです。 これらは時代とともに進化してきたもので、Next.jsはSSRとRSCの両方を活用するフレームワークです。 | | 登場時期 | | :---------------------------------------: | :--------: | | MPA(マルチ・ページ・アプリケーション) | 2000年ごろ | | SPA(シングル・ページ・アプリケーション) | 2010年ごろ | | SSR(サーバー・サイド・レンダリング) | 2016年ごろ | | RSC(Reactサーバー・コンポーネント) | 2022年ごろ | それぞれの仕組みと、これらの技術が登場した理由については下記4記事で順番に解説しています▼



なお、この中でも特にSPAは、React + Viteアプリのデフォルトの仕組みでもあり、つまずきやすいポイントです。 「複数ページあるのに、なぜ"シングルページ"と呼ぶのか」という素朴な疑問から、静的サイト・動的サイトの歴史をたどってSPAの仕組みを掘り下げた記事もあります。 SPAのメリット・デメリットをもう一段深く理解したい方は、あわせてご覧ください▼ • SPAサイトとは?仕組み・メリット・デメリット・実例を2分で解説 ## RSC(Reactサーバーコンポーネント)を理解する RSCはNext.jsの中核となる機能です。 Next.jsのAppフォルダでは、すべてのコンポーネントがデフォルトでサーバーコンポーネントになっています。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-nextjs) ### RSCとRCC(クライアントコンポーネント)の違い RSCが登場したことで、従来のReactコンポーネントに「RCC(Reactクライアントコンポーネント)」という名前がつきました。 それぞれにできることとできないことがあります。 | | RSC | RCC | | :-------------------------------------: | :-: | :-: | | データベースからデータを取得する | ○ | × | | onClickやonChangeなどのユーザー操作機能 | × | ○ | | useStateやuseEffectなどのHooks利用 | × | ○ | RCCを使いたい場合はファイルの先頭に`"use client"`を追加します。 この使い分けの背景と命名の経緯はこちら▼
RSCを使うとJavaScriptのバンドルサイズがどれだけ小さくなるか、実際の数値で確認した記事はこちら▼
コードでRSCの動きを確認したい人はこちら▼
RSCの仕組み・メリット・デメリット・ストリーミングまで一段深く、よりはっきりと理解したい人はこちら▼
RSC・SSR・SPA・MPAの流れとReact 19の新機能まで体系的にまとめたガイドも参考にしてください▼
## Server ActionsとReact 19の新機能 Next.jsはReactの機能が先行して導入されることがよくあります。 これから紹介するReactバージョン19の新機能も、Next.jsでは先行して利用可能でした。 ### Server Actionsとは Server Actionsは、APIを別途作成しなくても、フォーム送信やデータ更新をサーバー上で直接処理できる仕組みです。 従来のRoute Handlers(APIルート)と比べてコード量を大幅に削減できます。 Server ActionsとAPIの使い分けはこちら▼
Server Actionsでエラーをフロントエンドに表示する方法はこちら▼
なおフォーム送信やデータ更新という操作はCRUDと一般的に呼ばれるもので、あらゆるアプリの操作のベースになっています。 詳しくは▼ • アプリの機能はたった4つだけ ### useActionState React 19で導入された`useActionState`は、Server Actionsと組み合わせて使う新しいHooksです。 従来の`useState`を使うよりもコード量を抑えられます。 `useActionState`に渡す関数の書き方はこちら▼
### useOptimistic(楽観的更新) LINEなどでメッセージを送ると、すぐに表示に反映されます。 あれが「楽観的更新」です。 バックエンドからの完了通知を待たずに画面を先に更新することで、ユーザー体験を向上させます。 React 19の`useOptimistic`はその実装を簡単にするHooksです▼
### useEffectEventと\ React 19(v19.2)では、さらに2つの新機能が追加されています。 --- • `useEffectEvent`\ `useEffect`の依存配列問題を解決する新しいHooks • ``\ コンポーネントの表示・非表示を切り替えながら、非表示時もstateを保持できる機能 --- 詳しくは下記の記事をご覧ください。

## Next.jsを公開する ### Vercelでの公開 Next.jsはVercelで公開するのが一般的です。 開発元の会社が提供するプラットフォームなので、Next.jsのすべての機能を制約なしに使えます。 なお、Vercelが自動生成するドメインを好きな名前に変更する方法はこちら▼
CORS問題が発生する場合の対処法は、下記記事を参考にしてください▼
### Vercel以外での公開 NetlifyなどVercel以外でNext.jsを公開することも可能です。 その場合は`next.config.ts`に`output: "export"`を追加し、`npm run build`で生成された`out`フォルダをアップロードします。 手順の詳細と、よく起きる画像表示問題の解決方法はこちら▼
公開時に特定のURLをユーザーから隠したい場合は、redirectsを使う方法が簡単です▼
## 機能実装:お問い合わせフォーム開発 Next.jsではフロントエンドだけでなく、バックエンドの機能も実装できます。 そのため「お問い合わせフォーム」のような、バックエンドが必要な機能もNext.jsだけで実現可能です。 外部サービスを使わず、お問い合わせフォームをNext.jsだけで作る方法はこちら▼
## Next.jsが使われているか調べる方法 「このサイト、Next.jsで作られているのかな?」と気になったときは、ブラウザの開発者ツールのコンソールで次のコードを実行するだけで確認できます。 ```js console.log(window?.next.version) ``` Next.jsが使われていればバージョン番号が表示されます。 詳しくはこちら▼
## Next.jsを学べる書籍 私は非IT出身からプログラミングを学び始め、現在は「専門用語なしでプログラミング」をテーマに教材制作や執筆を行っています。私の自己紹介はこちら▼
私の経験からNext.jsを学ぶのに最適な教材を紹介します。 ### 翔泳社から出版 2024年9月、翔泳社から『動かして学ぶ!Next.js/React開発入門』を出版しました。 Next.jsをはじめて使う人を対象にした実践形式の入門書で、バックエンドからフロントエンドまで、フルスタックアプリを一冊で開発できる内容になっています。 この本は韓国語にも翻訳され、韓国でも出版されています。

### 最新バージョン16対応のKindle入門書 最新のNext.jsバージョン16に対応した入門書も用意しています。 ビギナー向けに、インストールからフルスタックアプリの公開まで実践形式で解説しています。
## よくある質問 ### Next.jsを学ぶ前に、Reactは必要ですか? Next.jsのベースはReactです。 Reactの基礎を知っていると、Next.jsの学習はスムーズに進みます。 しかし「Reactを完璧にマスターしてから」という必要はありません。 「Reactに入門した段階でNext.jsにも触り、往復しながら理解を深める」という方法もあります。 Reactを難しく感じている人はこちらのガイドを参考にしてください▼
### TypeScriptは必須ですか? 2026年の現場では、Next.js + TypeScriptの組み合わせがスタンダードです。 最初からTypeScriptで書き始めると、後がラクになるでしょう。 TypeScriptを難しく感じる理由と乗り越え方はこちら▼
### 新しいAppフォルダではなく、古いPagesフォルダを使っています。変更点を教えてください。 Next.jsバージョン13からデフォルトになった「Appフォルダ」と、それ以前の「Pagesフォルダ」の相違点などは下記記事を参考にしてください。 • Next.jsバージョン13の変更点を時短で解説Next.js 13のコード変更点(パス取得/リダイレクト/リクエストbodyの解析など) また古い情報になりますが、Pagesフォルダを使ったブログ開発や、追加機能の開発方法は下記記事にあります。 • Next.jsにマークダウンのブログ機能を追加する方法Next.jsにページネーションをNPMパッケージなしで追加する方法Next.jsのブログに前後記事へのリンクを追加する方法 ### サーバーコンポーネントとクライアントコンポーネント、どちらを使えばいいですか? Next.jsではデフォルトがサーバーコンポーネントです。 `useState`や`useEffect`などのHooksを使いたい場合、あるいはボタンクリックなどユーザー操作を扱う場合は、ファイル冒頭に`"use client"`を追加してクライアントコンポーネントに切り替えます。 「まずサーバーコンポーネントで書いてみて、Hooksやイベントが必要になったら切り替える」という進め方が推奨されている方法です。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-nextjs) ### フロントエンド全体の学習ロードマップを知りたい HTML・CSSからReact、TypeScript、Next.jsまでの学習ステップを一本にまとめたロードマップはこちら▼
### React × TypeScriptを体系的に学べる教材はありますか? 「React × TypeScriptマスター」という教材があります。 「なぜそうなるのか」、「どうつながっているのか」を軸に、React × TypeScriptの全体像を体系的に学べる教材です。 Next.jsはReactの上に成り立っているので、その基礎となるReact × TypeScriptを体系的に理解しているほど、Next.js開発もスムーズになります。 この教材を作った理由や利用者の声、返金保証の話などを下記の記事で詳しく書いてあるので、参考にしてください▼
Next.jsの基礎となるReact × TypeScriptを、正しい順番で体系的に学べる教材はこちらです▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/guide-nextjs) --- # 【2026年版】React初心者のための学習ロードマップ|何から始めるべきか完全解説 URL: https://monotein.com/blog/guide-react-learning-roadmap 公開日: 2026.6.20 更新日: 2026.6.16 概要: Reactを学びたい初心者向けに、HTML・CSSからJavaScript、React、TypeScript、Next.jsまでの学習ロードマップを解説。2026年のAI時代に最適な勉強順と学習時のマインドセットまでを紹介します。 ## はじめに:何をどれだけ学ぶのかの指針が必要な理由 「_Reactを学びたいけど、何から始めればいいだろう?_」 これは今も昔も、ビギナーが最初にぶつかる壁です。 私自身もぶつかりました。 特にReactはバージョンが上がるたびに機能が増えています。 つまり学ぶべきことは増えているのです。 「Reactの何を、どれだけ学べばいいのか」という疑問はより深刻化している、と言っていいでしょう。 これは別の角度から言うと次のようになります。 【 「Reactの何を、どれだけ、どの順番で学べばいいのか」を知っておく重要性が高まっている 】 --- Reactの情報自体はネット上でいくらでも、しかも無料で手に入ります。 しかし多すぎるが故に、「それをどう使えばいいのか?」という問題が出てきたのです。 加えてAI時代になり、こういった情報過多で悩む人は増加する一方です。 本記事ではReact学習のロードマップと、学習時のマインドセットについて包括的に紹介します。 本記事を参考にReact学習を進めてみましょう。 ## ビギナーが最初にぶつかる壁 プログラミングを学び始めようと調べ始めると、最初にぶつかるのが「情報過多」という壁です。 HTML、CSS、JavaScript、React、Vue、Angular、Vite、Git、Node.js、API..... 横文字と英語の略語が山ほど出てきて、「何が何をするものなのか」、「どれが重要で、どれは後回しでいいのか」の見当がつかなくなるのです。 私自身もビギナー時代にそれを経験しました。 混乱の原因は大きく3つあります。 --- ①各ツールの用途が分からない ②ツール同士の関係性(つながり)が分からない ③似た働きをするツールを個別に理解しようとしてしまう --- この3つが重なると、「説明をいくら読んでも分からない」という状態に陥ります。 しかし実は「個別に理解すべきこと」と「まとめて理解していいこと」を区別するだけで、状況はかなり変わります。 情報過多で混乱している方は、まず下記記事をご覧ください▼ • 【情報過多】プログラミング初心者が挫折する原因 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-react-learning-roadmap) ## AI時代になぜReact学習者が増えているのか? 具体的な学習ロードマップの前に、2026年のいま無視することができない「AIとReactの関係」を紹介します。 AIはReactのコードを書いてくれます。 24時間365日、休みなく書き続けてくれます。 「_それならReactなんてもう学ばなくていいじゃん!_」と誰もが思うでしょう。 しかし現実は少し逆の方向に動いています。 AIによって「Reactに触る人」は増えました。 同時に「理解不足を感じる人」も増えているのです。 なぜそれが問題か? AIの出力を使うかを決めるのは人間だからです。 そして「使う」と決めること、つまり「使うという決断」には責任が伴います。 多くのユーザーが使う商業用アプリでは、この責任は重大です。 「_動いてはいるけど、なぜ動いているのか分からない....._」というのは責任ある態度ではないでしょう。 私自身も非IT出身からプログラミングを学び始めました。 JavaScriptで半年以上つまずき、専門用語が分からず前に進めなくなったこともあります。 そのため「専門用語なしでプログラミング」をテーマに教材制作や執筆を行っています。私の自己紹介はこちら▼
AI時代になり、自分のReactの理解不足に対し危機感を覚える人、学習の必要性を感じる人は増えています。 詳しくはこちらで解説しています▼

## React学習、ステップの全体像 2026年のReact学習の流れは、大きく次のようになります。 --- HTML/CSS\ ↓\ JavaScript(基礎)\ ↓\ React + Vite\ ↓\ TypeScript\ ↓\ Next.js --- この順番が「王道ルート」ですが、完璧に一段ずつ登り切る必要はありません。 大事なことは「完璧な理解」ではなく、「歩みを止めないこと」、「先に進むこと」です。 各ステップの詳細と、先に進むタイミングについては、こちらの記事で解説しています▼
上の記事ではより詳しく書いていますが、本記事でも各ステップを少し見ていきましょう。 ## ステップ① HTML/CSS プログラミング学習はHTMLとCSSから始まります。 HTMLとCSSは「書いたコードとその結果が一対一の関係」にあるため、ビギナーでも比較的スムーズに進められます。 `

`を使えば大きな文字が表示され、`color: blue;`と書けば文字が青色になるという、対応関係が分かりやすい一対一の関係です。 HTMLとCSSを使って簡単なウェブサイトを数個作ったら、次のステップに進みましょう。 目指すのはHTML/CSSで作る「ウェブサイト」ではなく、Reactで作る「ウェブアプリケーション」です。 なお下記記事では、完全未経験者向けに、HTMLとCSSの役割から、ウェブサイトの無料公開方法までを紹介しています▼ • はじめてのウェブサイトを作ってみよう(無料オンライン公開方法まで解説) Netlifyを使えば、HTMLとCSSで作ったウェブサイトを0円・1分で公開できます▼ • 【0円・1分で完了】HTMLとCSSでつくったウェブサイトを無料で今すぐ公開する方法 ## ステップ② JavaScriptとReact入門 JavaScriptは最初にぶつかる壁、おそらく「最大の壁」です。 HTMLとCSSをスムーズに進められた人ほどぶつかる傾向があります。 実は私自身、半年以上JavaScriptで挫折していました。 先ほども見たように、HTMLとCSSは「書いたコード」と「その結果」が1対1で、`

こんにちは

`と書けば大きく「こんにちは」と表示され、`color: red`と書けば文字が赤くなります。 自分のした行動と、その結果の予測がしやすいのです。 しかしJavaScriptは違います。 JavaScriptには「JavaScriptの考え方」があり、HTMLとは頭の使い方を大きく切り替える必要があります。 この「1対1ではない」という構造の違いと対策法を解説したのが下記記事です▼
さて、JavaScriptで挫折した経験から気づいたのは、「JavaScriptをマスターしてからReactに進む必要はない」ということです。 HTML/CSSの知識だけでもReactに入門できます。 Reactを先に見て、そこから戻るようにしてJavaScriptの理解を深めていく進め方の方が、むしろ効果的なのです。 これは私個人の体験だけをもとに言っているのではなく、これまで長い間ビギナーにReactを教えてきた経験からもそう言えます。 詳しくはこちらで解説しています▼
## ステップ③ React + Vite React開発環境の現在の標準はViteです。 以前使われていたcreate-react-appは開発が止まり、Reactの公式ドキュメントでも推奨されなくなりました。 Viteのセットアップから、フォルダ構成、Next.jsとの違いまで、こちらのガイドで解説しています▼
Reactを学び始めて難しく感じてきたら、下記ガイドを読んでみてください。 Reactを難しく感じる理由と、その乗り越え方を一本にまとめています▼
## ステップ④ TypeScript 2026年の現場では、ReactとTypeScriptはセットで使うのが標準です。 TypeScriptは最初から学ぶ必要はありません。 Reactにある程度慣れてきた段階で少しずつ取り入れていく、というのがスムーズです。 TypeScriptを難しく感じる理由から、React開発で必要な知識まで、こちらのガイドで解説しています▼
## ステップ⑤ Next.js・RSC・React 19 Next.jsはReactのフレームワークです。 サーバーコンポーネントやストリーミングなど、本来は様々なセットアップが必要なReactの機能を、すぐに利用できるようになっています。 Next.jsについて包括的に理解したい方は、下記ガイドに目を通してください▼
サーバーサイドレンダリングやサーバーコンポーネント、SPA、React 19の新機能を体系的に理解したい人は、こちらのガイドを参考にしてください▼
さて、Next.jsは「Reactの上位ツール」といえるものです。 そのため、最近ではどのようなReact開発でもNext.jsを使うケースが多いですが、必ずしも毎回Next.jsが適切とは限りません。 Next.jsの機能が多すぎて、必要以上にアプリの構造が複雑になってしまうことも多いのです。 Next.jsとReact + Viteの違いや使い分けについて理解したい方は、この記事を参考にしてください▼
## React学習を継続するために知っておくべきこと ### 停滞期は必ずある 学習を進めていると、必ず「いくら勉強しても進んでいる気がしない」という時期が訪れます。 これは誰もが経験する「停滞期」です。 しかしこの停滞期は、のちに来る「飛躍」の前触れです。 詳しくはこちらで解説しています▼
### 勉強が続かない理由は「成功体験の欠如」 勉強が続かない最大の理由、それは「成功体験がない」ことです。 「できた!」という喜びがあってこそ、「なぜうまくいったのか?」という学ぶ気持ちが生まれます。 まずは「できた!」を体験できる教材を選ぶことが継続の鍵です。 詳しくはこちらで解説しています▼
### チュートリアルヘルに注意する 「勉強が楽しい」という状態は良いことです。 しかしそれが「勉強すること自体が目的」になってしまうと、本来のゴール(就職、案件獲得、アプリ完成など)から離れていきます。 これを「チュートリアルヘル」と呼びます。 詳しくはこちらで解説しています▼
### 「勉強すること」が目的になっていないか確認する 「チュートリアルヘル」と関連して、もう少し根本的な話をします。 プログラミング勉強を始める人の中には、ゴールを決めていない人が少なくありません。 --- 「_なんとなく役に立ちそう_」\ 「_AIの時代だから_」\ 「_かっこよさそう_」 --- こういった理由で始めることに問題は何もありません。 しかし目標が曖昧なまま勉強を続けていると、ある時点で「自分は何のために勉強しているのか」が分からなくなります。 そして勉強自体がいつの間にか目的になってしまいます。 勉強とは、ある意味でラクな行動なのです。 --- • 自分一人で完結できる。\ • 誰にも傷つけられない。\ • 「頑張っているフリ」ができる --- しかし「大人の勉強」において、勉強はあくまで手段です。 その先にある目標こそが主役であるべきです。 「_フリーランスとして案件を取る_」\ 「_社内でReactを扱える開発者になる_」\ 「_自分のアプリを完成させてリリースする_」 何でもいいので、具体的なゴールを先に決めておきましょう。 下記記事も参考にしてください▼
(フリーランスを目指すなら、スキルと一緒に[案件を得るための営業](/blog/what-is-cold-mail)についても知っておくと選択肢が広がります) なお、日本のカフェでは、週末も年末年始も関係なく、パソコンを開いて勉強している人で溢れています。 これは私がかつて住んでいたヨーロッパでは見られない光景です。 「勉強はよいことだ」という価値観が強固にある日本では、特に勉強が手段ではなく目的になりやすいと私は思っています。 その構造とリスクについては下記記事で触れているので、目を通してみてください▼ • 勉強好きの日本人とそのリスク ### 点と点がつながる喜びを知る 学習を続けていると、ある瞬間「あ、ここはあそことつながっているんだ」という気づきが来ます。 この「点と点がつながる瞬間」こそが、学習の最大の醍醐味です。 この喜びを一度経験すると、勉強を続ける原動力になります。 詳しくはこちらで解説しています▼
### プログラミングが楽しくなる瞬間を知っておく 「続けられる人と挫折する人の違いは何か」という問いへの答えは単純です。 プログラミングの楽しさを一度でも感じたかどうか、です。 私自身、最初はWixでウェブサイトを作っていたところからHTML/CSSを学び始め、「意外に簡単に作れた」という体験が、その後の長いプログラミング学習の原動力になりました。 自分の手で何かを作る喜び、そして「自分にもできた」という満足感は、外から押しつけられたどんな動機よりも強いのです。 この点については下記記事を参考にしてください▼ • 【プログラミング学習】続けられる人と挫折する人の違い 私個人のプログラミング学習時の体験談、そしてそこで感じたプログラミングの闇については、下記記事で詳しく紹介しています▼
### 「決められない」、「迷い続ける」という落とし穴 教材を探す前に、もう一つ確認しておきたいことがあります。 「情報は集めているのに、なぜか前に進めない」という状態です。 その昔、私がポーランドのワルシャワに住んでいた頃、ある男性にイベントで出会いました。 彼はReactとAngularの違い、PythonとJavaScriptの比較、各フレームワークの将来性など、プログラミングについてとても詳しく語れる人でした。 しかし実際にはコードを一行も書いたことがなく、「どの言語を学ぶか現在考え中」という状態でした。 知識を集めること自体が快感になってしまい、「選ぶ」という行動が取れなくなっている人は実は大勢います。 「新しいことを知ること」は、それがなんであれ楽しいからです。 「ノウハウ・コレクター」になってしまうのを避ける方法は下記記事をご覧ください▼
同じ落とし穴として、「どのプログラミング言語を選ぶか」で長期間迷い続けるパターンもあります。 「作りたいものを先に決めよう」というアドバイスはよく聞きますが、実はそれは初心者にとって非常に難しいと私は考えています。 「プログラミングでそもそも何ができるのか」ということが、ビギナーには分からないからです。 もっと現実的で、決断を早くする方法を下記記事で紹介しています▼ • 勉強するプログラミング言語の選び方 IT資格についても同じことが言えます。 「基本情報技術者を取ってから始めよう」、「まず何か資格を持っておきたい」という考えで、本来のゴールへの歩みが止まってしまうケースも少なくありません。 資格が本当に必要かをまず問い直しましょう。 詳しくは下記記事を参考にしてください▼ • IT資格の〇〇〇を取得した方がいいですか? ## 教材の選び方 学習を進める上で、教材の選び方は非常に重要です。 ### 書籍・動画・電子書籍、何が向いているか 書籍、動画、電子書籍はそれぞれに強みがあります。 書籍は情報がパッケージ化されていて、つまみ食いを防いでくれます。 動画は「勝手に進んでいく」という性質が、やる気のない日でも前に引っ張ってくれます。 電子書籍はブラウザの外にあるため、気が散りにくい集中環境を作れます。 各フォーマットのメリットと使い分けはこちらで解説しています▼


React入門書を探している方は下記記事をご覧ください。 5年以上に渡り読まれ続け、Amazonで最高評価となっているReact教材の無料公開しています▼
### 無料教材だけで学ぶことの限界 学習教材は山ほどあります。 今ではAIも使えます。 「ネットに情報は山ほどある。なぜ教材にお金を払うの?」という疑問を一度も感じたことのない人の方が珍しいかもしれません。 しかし無料のブログ記事やYouTube動画、そしてAIには、ビギナーにとって致命的な問題があります。 「断片的」であることです。 その分野の全体像をまだ持っていない初心者が断片的な情報を得ても、「それをどこに使えばいいのか」が分かりません。 情報の量ではなく、情報の文脈が欠けているのです。 さらにネットでは次々と新しい情報が流れてくるため、「もっと良い記事があるはず」と教材をつまみ食いし続けてしまいます。 無料の教材を使う上で気をつけるべきこと、そして無料教材の落とし穴にはまらないための対策は、下記記事で紹介しています。 • 【プログラミング学習】なぜ有料の教材が〈まだ〉存在するのか?【プログラミング初心者向け】本当に役立つ教材の選び方【プログラミング初心者がハマる】ネット教材の落とし穴と解決策 --- また「この教材は自分に合わない」と感じたとき、教材を変えることに罪悪感を覚える必要はありません。 しかし変えすぎは逆効果です。 新しいことを学ぶとは、そもそも脳に負荷がかかる行為です。 そのストレスを「教材が悪い」と誤解する人がいます。 自分で「これだ!」と決めた教材を最後までやり切ること。 実はこれがもっとも効率的で効果的な最短ルートであることは少なくありません。 詳しくは下記記事をご覧ください▼
なお、一番最初に手をつける入門書は、厚い本より薄い本を選ぶ方がうまくいきます。 「すべてが一冊に入っている」という安心感が欲しくて分厚い本を手に取りがちですが、そういう本が挫折率を高めます。 理想の入門書に求めるべきものは「網羅性」ではなく「この続きを学びたい」という気持ちを灯してくれることです。 この点については下記記事で詳しく述べています▼ • 「これ一冊だけでOK!」という入門書が全然OKではない理由 ### 学習の進め方で変わること 良い教材を選んでも、進め方を間違えると遠回りになります。 プログラミング学習には「写経」という方法があります。 コードを自分の手で打ち込みながら進めることです。 「コピーすればいいのに」と思う人は多いですが、打ち込む過程で手と目と頭が同時に動くので、コードへの慣れと記憶の定着が高まります。 そして打ち込んだコードが意図通り動いたときの小さな達成感は、学習を続ける「中毒性」を生みます。
「一つひとつ完全に理解してから次に進む」というやり方は、一見正しく見えますが実は挫折リスクが高いアプローチです。 人間はそもそも理解に時間がかかり、覚えたこともすぐ忘れます。 薄く何度も塗り重ねるうるし塗りの技法のように、教材を繰り返すことで理解は徐々に深まっていきます。 一周目は「なんとなく」で大丈夫です。 詳しくは下記記事に書いてあります▼
初心者にありがちな誤解が3つあります。 「_プログラミングは理系向けだ_」\ 「_コードに正解がある_」\ 「_教材は一回やれば十分_」 このような思い込みが、プログラミング学習への抵抗感や挫折率を高めています。 対処法は下記記事をご覧ください▼ • プログラミング学習の初心者によくある誤解(with 解決法) ### プログラミング学習の教材の選び方 プログラミング学習では、ハンズオン形式(作りながら学ぶスタイル)の教材を選ぶことも重要です。 知識を読んで「分かった気になる」のと、実際に手を動かして「動いた!」と体験するのでは、その後の定着度がまったく違います。 特に学習初期に「小さな成功体験」を早く得られるかどうかが、学習を継続できるかどうかの分かれ目です。 • 失敗しないプログラミング教材の選び方 ### プログラミングの専門用語 プログラミング特有の専門用語に惑わされないようにしましょう。 「オブジェクト」、「引数」、「返り値」といった言葉が分からなくても、先に進んで大丈夫です。 言葉の意味は実際に使っていると自然と分かってきます。 言葉の定義を理解してから進もうとすると、そこで止まってしまい、挫折率を高めます。 実際に私自身、専門用語が分からず、JavaScriptの学習が半年近く停滞していました。 詳しくは下記記事で紹介しています▼
## よくある質問 ### ReactとVueとAngular、どれを選べばいいですか? 2026年の現場では、Reactが「デファクトスタンダード(事実上の業界標準)」として定着しています。 AIが生成するコードも大半がReactベースです。 ネット上にはReactの情報が最も多いため、AIもReactのコードを頻繁に、そしてより精度高く出力します。 これからフロントエンドを学ぶなら、Reactを選ぶのがおすすめです。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-react-learning-roadmap) ### 途中で挫折しそうになったらどうすればいいですか? 挫折とまではいかなくても、学習が長期間ストップしてしまうこと。 やる気がなくなってしまうこと。 これらは珍しいことではありません。 私自身も何度もそういう時期を経験してきました。 そういうときに知っておいて欲しいのが、「学習曲線」の考え方です。 成果が出ない停滞期は必ず存在しますが、実はそれは飛躍の前触れなのです。 詳しくはこちらをご覧ください▼
### AIを使いながらReactを学ぶとき、気をつけることはありますか? AI利用にはメリットとデメリットがあります。 メリットは疑問へのスピーディな回答、エラー解決の速度、コード例の豊富さなどです。 以前は「useState エラー」とGoogle検索して複数の記事を読み比べていましたが、今はAIに聞くだけで解決できます。 一方、無視できないAIのデメリットは知識の断片化です。 AIが高精度な答えを返してくれるほど、「理解しなくても前に進める」状態が起きます。 「_コードは動く、でもなぜ動いているのか分からない...._」 この問題は。2026年のReact学習者の間で特に広がっています。 この解決策は「体系的な理解を」身につけることです。 AIは便利ですが、どこかの地点で一度AIを離れ、React全体を体系的に学ぶことが大切です。 ### Reactを体系的に学べる教材はありますか? あります。 「なぜそうなるのか」、「どうつながっているのか」を軸に、React × TypeScriptの全体像を体系的に学べる教材です。 このロードマップで見てきた各ステップを、迷わない順番で一本につなげてあります。断片的に学んできた知識を、体系的につなぎ直すのにも向いています。 この教材が生まれた経緯や学習者の感想、返金保証のウラ話などをこちらの記事に書いてあるので、参考にしてください▼
ロードマップの全体を、独学でも迷わず一本で辿れる教材はこちらです▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/guide-react-learning-roadmap) --- # 【2026年版】ReactサーバーコンポーネントとReact 19完全ガイド|RSC・SSR・SPAを2分で理解 URL: https://monotein.com/blog/guide-rsc-and-react19 公開日: 2026.6.17 更新日: 2026.6.16 概要: AI時代だからこそ必要になるReactの本質的理解。RSC・SSR・SPA・MPAの歴史と違いを整理しながら、React 19の重要機能まで体系的に解説します。 ## RSCはなぜ登場したのか Reactサーバーコンポーネント(RSC)の登場から5年近くが経ちました。 しかし「_RSCって結局なんなの?_」、「_SSRとどう違うの?_」と感じている人はまだ大勢いる、というのが私の実感です。 Reactサーバーコンポーネント(RSC)を理解するには、その前身にあたるMPA、SPA、SSRという流れを知っておく必要があります。 RSCは突然登場した概念ではなく、ウェブアプリケーション技術の進化の延長線上にあるものだからです▼ | | 登場時期 | | :-: | :--------: | | MPA | 2000年ごろ | | SPA | 2010年ごろ | | SSR | 2016年ごろ | | RSC | 2022年ごろ | 本記事では、その歴史的な流れから、RSCの仕組み、そしてReactバージョン19の新機能まで、順を追って解説します。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-rsc-and-react19) ## AI時代だからこそ、RSCの体系的な理解が必要になっている RSCの話をする前に、まず「なぜ今このテーマを学ぶのか」という問いに答えます。 AIがReactのコードを書いてくれる時代です。 Next.jsを使ったプロジェクトでも、AIがRSCを使ったコードを当然のように書いてきます。 しかし「_AIの書いたコードが正しいか_」、「_サーバーコンポーネントとクライアントコンポーネントの使い分けは合っているか_」といったことを判断するのは、人間です。 「_AIは人間のような日本語を書ける、だから日本人はもう日本語を学ばなくていい_」とはならないのと同じです。 AIが書いてきたものを判断する責任が人間にはあり、そして判断をするには知識と経験が必要です。 AI時代になっても、正確な理解が必要とされることは不変なのです。 --- AIによって「Reactに触る人」は増えました。 同時に「理解不足を感じる人」も増えました。 この問題の本質は、知識が断片的なまま積み上がっていくことにあります。 RSCのような発展的なテーマこそ、AIに頼る前に体系的な理解が必要です。 詳しくはこちらで解説しています▼

私自身も非IT出身で、React以前にJavaScriptで挫折をしていました。私の自己紹介はこちら▼
なお、これから触れるRSC(React Server Components)は、Reactの中でもやや発展的な内容です。 その前にReactの基礎を確認したい方は、こちらのガイドをどうぞ▼
またReactの学習を進める中で「難しい」と感じている方は、こちらのガイドも参考にしてください。 Reactを難しく感じる本当の理由と、具体的な乗り越え方を整理しています▼
## レンダリングの進化:MPA → SPA → SSR → RSC ### MPA(マルチ・ページ・アプリケーション) ウェブアプリ技術の歴史はMPAから始まりました。 WordPressが代表例です。 MPAではページが移動するたびにサーバーとのやりとりが発生し、HTMLとJavaScriptを受け取って表示する仕組みになっています。 現役の仕組みではありますが、ページ表示に時間がかかるという問題がありました。 詳しくはこちらで解説しています▼
### SPA(シングル・ページ・アプリケーション) MPAの「ページ表示に時間がかかる」という問題を改善したのがSPAです。 有名なところではGoogleマップが採用しています。 React + Viteで作るアプリもデフォルトではSPAです。 なお、HTMLとCSSの知識だけでReact + Viteは始められます。 こちらの記事で紹介しているの参考にしてください▼
このSPAは、はページ描画をJavaScriptがクライアント(ブラウザ)側で行います。 ページ移動のたびにサーバーとやりとりをする必要がないため、ページをすばやく表示できるのです。 ただし「初回表示に時間がかかる」という別の問題があります。 詳しくはこちらで解説しています▼
### SSR(サーバー・サイド・レンダリング) SPAの「初回表示に時間がかかる」という問題を改善したのがSSRです。 Next.jsでも使われています。 初回リクエスト時にサーバー側でHTMLを一部組み立ててから送るため、ユーザーが最初にページを見るまでの時間が短くなりました。 ただし「クライアントが使うJavaScriptをすべて送る」という点はSPAと変わらないままです。 つまり、不要なJavaScriptも送ってしまうのです。 詳しくはこちらで解説しています▼
### RSC(Reactサーバーコンポーネント) SPA・SSRのどちらも「クライアントが使うJavaScriptをすべて送る」という点が同じでした。 RSCはここに手を加えたものです。 ブラウザで必要な量だけに絞ってJavaScriptを送ります。 さらにページ移動時には「変更箇所だけを部分的に更新する(Partial Rendering)」という仕組みにより、ページ全体のリロードなしに高速な遷移を実現しています。 より詳しくは、こちらの記事を参考にしてください▼
なお、ここまでみてきたサーバーサイドレンダリング(SSR)とReactサーバーコンポーネント(RSC)は、Next.jsの普及によって注目されるようになった技術です。 実際、RSCを使った開発に触れる機会の多くはNext.js経由になるでしょう。 Next.jsとは何か、Reactとの関係、そしてなぜ多くの企業が採用しているのかについては、下記記事で詳しく解説しています▼
## RSCとRCC(Reactクライアントコンポーネント) RSCが登場したことで、それ以前から存在していたReactコンポーネントに「RCC(Reactクライアントコンポーネント)」という名前がつきました。 RSCとRCCは「どちらかを置き換えるもの」ではなく、相互補完的に使うものです。 それぞれに「できること」と「できないこと」があります。 | | RSC | RCC | | :-------------------------------------: | :-: | :-: | | データベースからデータを取得する | ○ | × | | onClickやonChangeなどのユーザー操作機能 | × | ○ | | useStateやuseEffectなどのHooks利用 | × | ○ | この使い分けと、コードでの動きを確認したい人はこちらをどうぞ▼

RSCを使うとJavaScriptのバンドルサイズがどれだけ削減されるか、実際に数字で確認した記事はこちらです▼
RSCについてさらに深く、原理からメリット・デメリットまで知りたい人はこちらをどうぞ▼
## React 19の新機能 現時点(2026年6月)でのReactの最新バージョンは19です。 React 19では様々な機能や仕組みが追加されました。 ここまで見てきたReactサーバーコンポーネント(RSC)がReact本体から提供され始めたのも、このバージョンです。 本記事ではこれ以降、RSC以外の新機能を見ていきましょう。 ### Server ActionsとuseActionState Server Actionsは、Next.jsでフォーム送信やデータ更新を、APIを作らずに直接サーバーで処理できる仕組みです。 React 19では、このServer Actionsと組み合わせると便利な`useActionState`というHooksが導入されました。 従来の`useState`を置き換える形で使えます。 `useActionState`の使い方と、関数の書き方の違いはこちらで解説しています▼
Server Actionsでエラーをフロントエンドに表示する方法はこちらです▼
Next.jsにはAPI Routesという機能があります。 これはサーバー側の機能を提供するものですが、Server Actionsとの使い分けが少し複雑です。 いつ、どちらを使うのかが最適か、こちらの記事で理解してください▼
またServer Actionsのコードでも型は重要です。 React × TypeScript開発の基礎、TypeScriptを難しく感じる理由などは、こちらのガイドにまとめています▼
### useOptimistic(楽観的更新) React 19で追加されたもうひとつの注目Hooksが`useOptimistic`です。 「楽観的更新」とは、「データ投稿はたぶん成功するだろう」という希望的観測のもと、バックエンドからの完了通知を待たずに表示を先に反映させる手法です。 LINEなどのアプリでメッセージを送ったとき、送信完了を待たずに即座に表示に反映される仕組みが、まさにこの楽観的更新です。 詳しくはこちらで解説しています▼
### useEffectEventと React 19(v19.2)ではさらに、`useEffectEvent`と``という2つの新機能も追加されています。 --- • `useEffectEvent`\ `useEffect`の依存配列問題を解決する新しいHooks • ``\ コンポーネントの表示・非表示をコントロールしながら、非表示時もstateを保持できる新機能 --- 詳しくはこちらで解説しています▼

## よくある質問 ### RSCはNext.jsでないと使えませんか? 現時点でRSCを実用的に使える環境としては、Next.jsが最も一般的です。 RSCはReact本体の機能ですが、実際の開発ではNext.jsと組み合わせて使うのが主流です。 ### サーバーコンポーネントとクライアントコンポーネント、どちらを使えばいいですか? Next.jsではデフォルトがサーバーコンポーネントです。 `useState`や`useEffect`などのHooksを使いたい場合、あるいはボタンのクリックなどユーザー操作を扱う場合は、ファイルの先頭に`"use client"`を追加してクライアントコンポーネントに切り替えます。 「まずサーバーコンポーネントで書いてみて、Hooksやイベントが必要になったらクライアントコンポーネントに変える」という進め方が現実的です。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-rsc-and-react19) ### React初心者です。どのような順番で学べばいいか分かりません Reactはバージョンが上がるごとに機能が増えています。 そのため「何を、どれだけ学べばいいのか」と悩む人も増えています。 2026年版の学習ロードマップを作ったので参考にしてください▼
### React 19の新機能は今すぐ使う必要がありますか? 必須ではありません。 `useActionState`はServer Actionsを使う場合に便利です。 `useOptimistic`はリアルタイム性の高いUIで効果を発揮します。 `useEffectEvent`と``は、既存コードの問題を解決する場面で活躍します。 つまり、従来からある機能やコードを置き換えるというよりは、「より便利にする」「より簡単に実現できる」というのがReact 19の新機能です ### React基礎から、RSC/React19などの発展的技術まで、体系的に学べる教材はありますか? 「React × TypeScriptマスター」という教材があります。 「なぜそうなるのか」、「どうつながっているのか」を軸に、React × TypeScriptの全体像を体系的に学べる教材です。 RSCやReact 19のような発展的なテーマも、その基礎に体系的な理解があってはじめて活きてきます。 この教材を作った理由や利用者の声、返金保証の話などをこちらの記事で詳しく書いてあるので、参考にしてください▼
発展的なテーマほど、体系的な理解が必須となります。 そのための教材がこちらです▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/guide-rsc-and-react19) --- # 【2026年版】TypeScript入門完全ガイド|React開発者向けにTSの始め方を全解説 URL: https://monotein.com/blog/guide-typescript-for-react-programmers 公開日: 2026.6.14 更新日: 2026.6.16 概要: AIがコードを書く時代だからこそ、TypeScriptの重要性は高まっています。本記事ではTypeScriptの基礎から学習のコツ、React開発で必須となる知識まで初心者向けに解説します。 ## TypeScriptは難しくない 「_TypeScriptは難しいな_」と感じる人は多くいます。 中級者でもそのように感じる人が珍しくありません。 私自身、かつてそう思っていた一人です。 しかしTypeScriptを難しく感じさせる理由を知れば、TypeScriptへの印象も大きく変わるでしょう。 本記事では、まず最初にTypeScriptが難しくみえる理由を説明します。 その後、ReactエンジニアがTypeScriptを身につける具体的な方法を紹介します。 各テーマを深く掘り下げた記事も紹介するので、ぜひ最後まで読んでください。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-typescript-for-react-programmers) ## AI時代にTypeScriptの重要性は増している TypeScriptの話をする前に、まず「_なぜ今TypeScriptなのか?_」という問いに答えます。 AIがコードを書いてくれる時代です。 「_TypeScriptを学ぶ必要はなくなったのでは?_」と考える人もいるでしょう。 しかし現実は少し違う方向に動いています。 --- AIが書いてくるコードの大半は、ReactベースでありTypeScriptベースです。 AIはネット上の情報を学習しており、ネット上でReact × TypeScriptの情報がもっとも多いからです。 そして「AIの書いたコードが正しいか」、「型定義に問題はないか」を最終的に判断するのは人間です。 AIは責任を取れません。 コードの責任は、AIに指示を出した人間が負います。 --- AIによって「Reactに触る人」は増えました。 同時に「理解不足を感じる人」も増えたのです。 「_動いてはいるけど、なぜ動いているのか分からない....._」 この問題の原因は、知識が断片的なまま積み上がっていくことにあります。 AIを使うからこそ、React × TypeScriptを体系的に学ぶことの重要性は一層増しています。 詳しくはこちらで解説しています▼

## TypeScriptを難しく感じる2つの理由 ### ① メリットが分かりにくい TypeScriptを使う理由としてよく挙げられるのは、次のようなことです。 --- • アプリが堅牢になる\ • 開発スピードが上がる\ • エラーが減る --- しかしこれらのメリットは、ビギナーには一番理解しにくいものです。 TypeScriptを使っても、アプリの見た目が良くなるわけでも、動くスピードが速くなるわけでもありません。 その一方で、書くコードの量は増え、エラーの発生も多くなります。 「_目に見えるメリットが感じられない_」、「_何で使うのか分からない_」というのが、ビギナーがTypeScriptで最初にぶつかる壁です。 ### ② 「型」の概念に馴染みがない TypeScriptは「型のついたJavaScript」とよく紹介されます。 しかしこの「型」という概念は、HTML/CSS開発ではまったく出てこないものです。 JavaScriptでもほぼ出てきません。 たとえばJavaScriptでは、次のように書けます。 ```js let data = "Hello" data = 123 // エラーなし ``` TypeScriptで同じように書くと、エラーが出ます。 ```js let data: string = "Hello"; data = 123; // エラー: string型にnumber型は代入不可 ``` TypeScriptでは型を一致させる必要があります。 「型を意識する」というのは、HTML/CSSやJavaScriptだけを触ってきた人にとって、まったく新しい発想です。 この点について、より詳しい解説とその解決策を下記記事で紹介しています▼
プログラミング言語の本質的な役割は「データを操作すること」にあります。 TypeScriptの「型」は、そのデータが「どんな種類のものか」を明示するための仕組みです。 この前提を押さえておくと、TypeScriptで型を書く理由を納得しやすくなります。 「プログラミングとは何か」という問いや、データが重要である理由はこちらの記事をご覧ください▼ • 「プログラミングとは何か?」に一言で答えると…… ## TypeScriptをラクに学ぶコツ TypeScriptは、コード量の多い中〜大規模アプリや、複数の開発者が関わるチーム開発で真価を発揮します。 しかしビギナーがそういった環境でいきなり学ぼうとするのは現実的ではありません。 その必要もありません。 最初はコード量の少ない簡単なReactアプリでTypeScriptを使い、「慣れる」ということが大切です。 慣れてしまえば、TypeScriptのメリットは自然と見えてきます。 Reactビギナーの方は、下記ガイドも参考にしてください▼
## React × TypeScriptの始め方 React開発でTypeScriptを使う場合、現在の標準はVite × React × TypeScriptの構成です。 セットアップの詳しい手順はこちらで解説しています▼
2026年のReact開発で標準となっているVite、そしてその開発環境の構築はこちらのガイドから進めてください。
## TypeScriptの各テーマを深く学ぶ ### コンポーネント間でのやりとり ReactでTypeScriptを使い始めると、コンポーネント間でデータを渡す場面で型の記述が必要になります。 さらに`export default`と`export`の違い、import時の`{ }`の有無など、最初は混乱しやすい部分です。 しかしこれらのルールも、一度理解してしまえば自信を持って使えます。 下記記事で整理しているので目を通してください▼
### イベントの型 React × TypeScript開発で特につまずきやすいのが、イベントの型の書き方です。 同じイベントでも、書く場所によって3つの記法があります。 --- ① インライン記法(型の記述が不要)\ ② パラメータ横に書く記法\ ③ イベント名の横に書く記法 --- 詳しくはこちらで解説しています▼
### ジェネリクス TypeScriptを学んでいくと、必ず``や``のついたコードに出会います。 これが「ジェネリクス」です。 見た目から「難しそう」と感じる人が多いですが、ひとつひとつ理解していけばシンプルな仕組みです。 ジェネリクスは次の4回に分けて解説しています▼



### Zod TypeScriptとセットで語られることが増えたツールに「Zod」があります。 フォームやAPIから受け取るデータが「正しい形かどうか」を検証する処理はどんなアプリにも必要ですが、JavaScriptだけでそれを書くと冗長になります。 このバリデーション処理を短く、かつ安全に書けるようにするのがZodです。 しかしZodが急速に広まった最大の理由は、機能の良さだけではありません。 TypeScriptでは「型」を明示的に書く必要がありますが、Zodを使うとその型が自動で推論されるため、コード量をコンパクトに抑えられるのです。 つまりZodの人気の背景には、TypeScriptの普及そのものがあります。 「そもそもバリデーションとは何か」というところから丁寧に説明しているので、Zodが初めての方はまずこちらをご覧ください▼
## TypeScriptは「慣れる」もの ### ビギナーが感じる違和感 Reactと同じで、TypeScriptも最初は違和感があります。 「_なんでこんな面倒なことをするのか_」 私自身、TypeScriptを学び始めたときの第一印象はそれでした。 私自身が非IT出身だったというバックグラウンドも、理由としてはあったのだと思います。 私についての詳しい自己紹介はこちらの記事にあるので、目を通してみてください▼
しかしTypeScript使い続けるうちに、型があることでコードの意図が明確になり、エラーが事前に防げることの価値が少しずつ見えてきます。 難しいのではなく、慣れていないだけです。 そしてTypeScriptは、特に「慣れ」が大きい言語であると個人的に感じます。 なので、TypeScriptは「目で読む」のではなく「実際に手を動かしてコードを書く」が重要です。 コードを書き、慣れていけば、必ず分かるようになります。 Reactそのものを難しく感じている方は、こちらのガイドも参考にしてください▼
TypeScriptに慣れてきたら、次のステップとして知っておきたいのがRSC(Reactサーバーコンポーネント)とReact 19の新機能です。 TypeScriptと組み合わせて使うNext.jsの実践的な開発では、これらの新しい技術への理解が欠かせません。 体系的にまとめたガイドはこちらです▼
現在のフロントエンド開発では、React + TypeScript + Next.jsの組み合わせもよく目にします。 Next.jsとは何か、React単体との違い、どのような場面で使うのかについては、下記記事にまとめています▼
### なぜ入門教材にTypeScriptが使われていないことがあるのか 私の教材にはJavaScriptを使っているものが多くあります。 「現場ではTypeScriptが標準なのに、なぜJavaScriptなのか?」という疑問を抱く人もいるでしょう。 --- TypeScriptとTailwindなどのCSSフレームワークを同時に使った教材では、学ぶべき事柄が一度に増えます。 「Next.jsを学びたい」と思って始めた教材に、TypeScriptのエラーとTailwindのクラス名が入り乱れていると、「何がNext.jsで、何がTypeScriptの問題なのか」の区別も難しくなります。 【 教材の難易度を意図的に下げることで、学びたいものの核心に集中させる 】 これが私の教材の意図です。 さらに詳しく知りたい方は下記記事をご覧ください▼ • 私がTypeScriptやTailwindを使わない理由 ## よくある質問 ### ReactはJavaScriptでも書けます。TypeScriptを使う必要はありますか? 2026年の現場では、TypeScriptを使うのがほぼデフォルトです。 チーム開発や中〜大規模アプリでは、型がないことで発生する問題が大きくなるからです。 最初からTypeScriptで書く習慣をつけておくと、後から移行する手間がかかりません。 ### JavaScriptをまだ完全に理解していませんが、TypeScriptを始めていいですか? 始めましょう。 TypeScriptはJavaScriptの上に型の仕組みを追加したものなので、「JavaScriptを書きながらTypeScriptにも慣れていく」という進め方ができます。 「JavaScriptを完全に理解してから次に進む」という完璧主義の考え方では、何も始められません。 ### ジェネリクスは実務で必須ですか? 必ず使うわけではありませんが、他の人が書いたコードを読む場面では頻繁に出てきます。 「_書けないけど読める・理解できる_」。 これを最初の目標にするのが現実的です。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-typescript-for-react-programmers) ### React × TypeScriptを体系的に学べる教材はありますか? あります。 「なぜそうなるのか」、「どうつながっているのか」を軸に、React × TypeScriptの全体像を学べる教材です▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/guide-typescript-for-react-programmers) ### 社内でTypeScriptを導入したいのですがうまくいきません 「導入はしたが、誰も使いこなせていない」、「`any`が乱用されていてJavaScriptと変わらない」、「エラーが増えて開発が遅くなった」。 TypeScript社内導入でよくある失敗には、実は共通したパターンがあります。 最も多い失敗は「TypeScript導入自体をゴールにしてしまうこと」です。 パッケージを入れて設定ファイルを用意したら「導入完了」とするケースですが、これでは実態はJavaScriptのままです。 型の概念はJavaScriptにはない考え方なので、ツールを入れるだけでなく教育が必ず必要です。 具体的な失敗パターン3つとその対策については下記記事をご覧ください▼ • TypeScript導入に失敗する企業がやっていること【原因と対策も解説】 ### React × TypeScriptを実践レベルまで身につけたい方へ 「React × TypeScriptマスター」という教材があります。 これは2024年の初版リリースから2年間、何度もアップデートを重ねてきた教材です。 教材を作った理由や利用者の声、返金保証の話などを下記の記事で詳しく書いてあるので、参考にしてください▼
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/guide-typescript-for-react-programmers) --- # 【2026年版】Reactはなぜ難しいのか?初心者がつまずく理由と乗り越え方を全解説 URL: https://monotein.com/blog/guide-react-is-difficult-and-how-to-overcome 公開日: 2026.6.12 更新日: 2026.6.16 概要: Reactを難しく感じる人は多くいます。しかし問題はReactそのものではなく、JavaScriptやstate、コンポーネントなど前提知識にあることが多いのです。初心者がつまずく理由と乗り越え方を完全解説します。 ## Reactは本当に難しいのか? 「_Reactって難しい...._」と感じるビギナーは多くいます。 しかし実際のところ、Reactそのものが難しいのではありません。 「難しく感じさせる仕組み」があるのです。 それを理解すれば、難しさの正体が見えてきます。 そして乗り越え方も分かります。 本記事では、Reactを難しく感じる理由を整理した上で、その乗り越え方と、各テーマを深く掘り下げた記事を紹介します。 ## そもそもReactを学ぶ意味はあるのか? 難しさの話の前に、「_そもそもAI時代にReactを学ぶ意味はあるのか_」という疑問から始めましょう。 AIがReactのコードを書いてくれる時代です。 「_もう人間が学ばなくてもいいのでは?_」という考えは自然です。 しかし現実は逆の方向に動いています。 AIが書いてくるコードの大半はReactベースです。 AIはネット上の情報を学んでおり、ネット上ではReact関連の情報が最も多いからです。 そして「AIの書いたコードが正しいか」、「自分の意図通りか」を判断するのは、人間です。 AIは責任を取れません。 コードの責任は、AIに指示を出した人間が負うのです。 AIを使うからこそ、実はReactの正確な知識と理解がより重要になっています。 詳しくはこちらで解説しています▼

AIが書いてくるReactコードには、必ず登場する3つの概念があります。 最低限これだけは理解しておきましょう▼ • ChatGPTに頼る前に理解すべきReactの3つの概念 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-react-is-difficult-and-how-to-overcome) ## Reactを難しく感じる理由 ### ① JavaScriptの理解が追いついていない Reactでつまずく人の多くは、実はReactではなくJavaScriptでつまずいています。 ReactのコードのベースはJavaScriptのfunction(関数)です。 そしてfunction(関数)には、書き方にバリエーションがいくつもあります。 そこをしっかり理解していないと、いつまでもReactのコードを「なんとなく」しか理解できません。 この点について詳しく紹介した記事が、あるので参考にしてください▼

また、Reactではコンポーネントを読み込むときに`import`と`export`を使います。 `export default`と`export`の違い、`{ }`の有無など、最初は混乱しやすい部分です。 詳しくはこちらで解説しています▼
functionの記法や`import`/`export`の正確な知識は、Reactを理解する大きな一歩になります。 なお、React開発の前提となる開発環境のセットアップや、現在のReact開発のスタンダード「React + Vite」について理解したい方は、こちらのガイドをどうぞ▼
### ② 状態(state)という新概念 HTMLとCSSには「状態」という概念がありません。 しかしReactでは、状態(state)がUIの変化をコントロールする中心的な仕組みです。 ```jsx const [count, setCount] = useState(0) ``` この1行が何をしているのか、最初は見当がつかないはずです。 「_stateとは何か?_」\ 「_そもそも状態とは何か?_」 これらの疑問を解くことが、Reactを理解する近道です。 詳しくはこちらで解説しています▼
### ③ 情報が多すぎて、何から学べばいいか分からない Reactに関する情報はネット上に大量にあります。 --- • YouTube動画\ • Qiitaの記事\ • Zenn\ • 英語の公式ドキュメント\ • Stack Overflow....... --- これらを少しずつつまみ食いしていると、どうしても知識は断片的になります。 「_聞いたことはある、でも使えない_」、\ 「_使ったことはある、でも仕組みは分かっていない_」という状態です。 自分の求める情報をピンポイントで入手できることは、とても便利です。とても効率的です。 しかしそれは全体像の把握を困難にもします。 そしてAI時代になり、このような「知識の断片化」はさらに加速しているのです。 詳しくは下記記事をご覧ください▼

## Reactを難しく感じるのは「順番の問題」でもある Reactが難しく感じる理由の多くは、「難しいことに取り組んでいるから」ではなく、前段階の理解や知識が不足しているところにあります。 Reactは積み上げ式の技術です。 --- JavaScript\ ↓\ JSX\ ↓\ コンポーネント\ ↓\ state\ ↓\ 非同期処理\ ↓\ etc... --- ところどころで先走っても問題はありません。 しかし、確かな理解とスキルを身につけるには、前段階のステップをしっかり理解してから次に進む必要があります。 順番で理解が積み上がっていかないと、いずれは「分からないことが分からない」という壁にぶつかります。 つまり難しく感じる原因は、「目の前のことが難しい」というよりもむしろ「一つ前のステップの理解不足」にあるのです。 Reactを学ぶ全体の流れを確認したい人は、こちらの記事をご覧ください▼
Reactを難しく感じている人の多くは、自分の能力不足を疑います。 しかし私はそうは思っていません。 私自身も非IT系出身で、ReactどころかJavaScriptや専門用語の段階で何度もつまずいたからです。 そのため「専門用語なしでプログラミング」をテーマに教材制作や執筆を行っています。 詳しい自己紹介はこちら▼
## 乗り越え方 ### JavaScriptを理解する Reactを難しく感じたら、まず疑うべきはJavaScriptの理解です。 関数の記法、働き、アロー関数、分割代入、非同期処理などを一度整理してみましょう。 「Reactが難しい」と思っていた問題が、JavaScriptの知識で解決することはよくあります。 ### 「理解してから進む」をやめる Reactは実際に書いてみないと分からないことが多い技術です。 頭で理解しようとするより、手を動かしながら「あ、こういうことかな」と分かる瞬間を大切にしてください。 最初は分からなくていいのです。 【 コードを書いて、動かして、少しずつ分かっていく 】 こういう積み重ねが前進につながります。 ### 停滞期があることを知っておく 学習を続けていると、必ず「いくら勉強しても進んでいる気がしない」という時期が訪れます。 停滞期と呼ばれるものです。 そして「停滞期」という名前が存在しているところからも分かるように、これは誰もが経験するものです。 この停滞期の正体と、その乗り越え方はこちらで解説しています▼
### 全体像を先に把握する 断片的な情報を集め続けていても、全体は見えません。 Reactの様々なコンセプト(コンポーネント、state、props、レンダリングの仕組みなど)をまとまった形で一度学ぶことが、Reactをマスターする近道です。 【 全体像を先に知ること 】 それが遠回りのように見えて実は近道です。 ### ReactとTypeScriptをなぜ一緒に学ぶのか 2026年の現場では、ReactとTypeScriptはセットで使うのが標準です。 ReactだけでなくTypeScriptも体系的に学んでおく必要があります。 「なぜ一緒に学ぶのか」という疑問は、下記の記事で解消してください。 TypeScriptを難しく感じる理由から、React開発で必要な知識まで幅広くまとめています▼
ReactとTypeScriptをセットで学んだ後、現場で使われている技術の全体像として知っておきたいのがRSC(Reactサーバーコンポーネント)とReact 19の新機能です。 Next.jsを使った実践的な開発へ進む前に、こちらのガイドで体系的に把握しておきましょう▼
## よくある質問 ### Reactはライブラリですか?フレームワークですか?この言葉の違いが気になっています どちらでも構いません。 厳密にはライブラリですが、フレームワークと呼ばれることが多々あります。 なぜこの議論が起きるのか、なぜ私がどちらでもいいと考えているのかはこちらで解説しています▼ • Reactはライブラリ?フレームワーク?違いと意味を初心者向けに分かりやすく解説 Reactがなぜ無料で使えるか、その理由が気になる方はこちらもどうぞ▼ • Reactはなぜ無料で使えるのか? ### ReactとVue、どっちを選べばいいか迷っています。 私も迷いました。 学習というのは、時間もエネルギーもかかるものです。 失敗したくありません。 しかし私は最終的にReactを選びました。 その理由や、私がVueやAngularを選ばなかった理由は、下記記事で詳しく紹介しています。
### Reactを学ぶ前に、JavaScriptは必須ですか? 必須ではありません。 JavaScriptの知識ゼロでも、HTML/CSSの知識だけでReactには入門できます。 実際に私は5年以上、その学習方法を推奨・実践してきました。 Reactの初歩はHTML/CSSの知識だけで十分だからです。 しかし「Reactに入門する」から「Reactを使える」というステージに進むには、JavaScriptの知識と理解が必須になります。 --- まずはReactに触ってみる。 そうすれば自分の目指していたものが、実はそこまで高い山でなかったことに気がつくはずです。 さらに自分に何が足りないのかも見えてくるでしょう。 まずはReactに触ってみてください。 HTML/CSSの知識だけで入門する方法を下記記事で紹介しています▼
### AI時代にプログラミングを学ぶ意味はまだありますか? あります。 AIはコードを書いてくれますが、判断と責任はすべて人間が負います。 むしろAIが浸透するほど、正確な知識の重要性は増しているといえるでしょう。 AI時代のプログラミングについて興味のある方は、下記の記事に目を通してみてください▼ • AI時代になって、プログラミングを学ぶ価値が下がったAIがコードを書ける時代、『なぜ』人間の開発者に知識が『まだ』求められているのか? AI時代になり、開発者の間では学習熱が高まっています。 この逆説的な現象については下記記事をご覧ください▼ • AIが浸透する中、開発現場で起きている意外なこと ### 今からReactを学び始めても遅くないですか? 遅くありません。 「完璧なタイミング」というものは永遠に来ないので、興味を持った今が始めどきです。 もう少し背中を押されたい方は、下記記事にも目を通してみてください▼ • 今さらReactを学び始めていいのだろうか、という不安感 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-react-is-difficult-and-how-to-overcome) ### Next.jsはいつ学べばいいですか? 現在のReact開発では、Next.jsを使うことが非常に増えています。 「Reactを学んだら次は何を勉強すればいいの?」という方は、下記記事をご覧ください▼
### 独学でReactをマスターできますか? できます。 ただし「何を学ぶか」と「どういう順番で学ぶか」の2つを間違えなければ、という条件がつきます。 断片的な情報をつまみ食いし続けると、時間だけが過ぎていきます。 全体を体系的に学べる教材を選ぶことが独学成功の鍵です。 下記ガイドも参考にしてください▼
### React入門のあと、AIのコードを正しく評価、判断できる実力をつけるには? 「React × TypeScriptマスター」という教材があります。 これは2024年の初版リリースから2年間、何度もアップデートを重ねてきた教材です。 教材を作った理由や利用者の声、返金保証を付けた経緯などは下記の記事で詳しく書いています▼
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/guide-react-is-difficult-and-how-to-overcome) --- # 【2026年版】React + Vite完全スタートガイド|初心者向けにすべて解説 URL: https://monotein.com/blog/guide-react-vite 公開日: 2026.6.9 更新日: 2026.6.16 概要: React開発の第一歩となるViteの役割からインストール方法、Next.jsとの違い、フォルダ構成、よくあるエラー対処法まで初心者向けに解説。React学習で次に何を学ぶべきかも紹介します。 ## まず「Vite」とは何か? Reactで始めるとき、多くのビギナーが次の壁にぶつかります。 「_どうやって始めればいいの?_」 Reactはそれ単体では動きません。 「Reactを開発するための環境」を最初に用意する必要があります。 ここで使われるのが「Vite(ヴィート)」です。 Viteとは、Reactアプリの開発環境をセットアップするツール。 具体的には次のことをViteはしてくれます。 --- • ローカル環境でReactを動かす • コードを変更したとき、ブラウザに即反映する • 完成したアプリを本番用にまとめる(ビルド) --- Reactをゲームソフトだとすると、Viteはゲーム機です。 ソフトだけ持っていても、それを動かすゲーム機がなければ遊べません。 Reactを開発・実行できる環境を用意するのがViteの役割です。 ## なぜViteなのか? 少し前までは、Reactの開発環境ツールには「create-react-app(CRA)」が使われていました。 しかし数年前にcreate-react-appの開発はほぼ止まり、Reactの公式ドキュメントでも推奨されなくなっています。 現在Reactを始めるなら、Viteが唯一の選択肢です。 理由は3つあります。 --- ① シンプル\ 余計な設定がなく、初心者にも扱いやすい構成になっています。 ② メンテナンスが活発\ 2026年現在も活発に更新が続いており、将来性があります。 ③ 起動が速い\ create-react-appと比べ、開発サーバーの起動速度が高速です。 「コードの変更が反映されるまで待つ」というストレスがほぼなくなりました。 --- 「今Reactを始めるならVite」と考えてください。 ![image](../../images/commonImg/first-study-guide.png) ● [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-react-vite) ## Next.jsとの違いは? Viteの説明をすると必ず出てくる疑問があります。 「_Next.jsとは何が違うの?_」 この2つは似たようなことができるので、使い分けで混乱する人は多くいます。 ### Vite + React • フロントエンドのみ。サーバー機能は持たない • シンプルなウェブアプリ、管理画面、SPA開発に向いている(SPAについては下記の記事参照)
### Next.js • フロントとバックエンドを一体で扱える • SEOが必要なウェブサイト、フルスタックアプリに向いている --- 「どちらを選ぶべきか」という答えは、何を作るかによって変わります。 詳しくはこちらの記事で解説しています▼
なお、ViteとNext.jsのどちらを選ぶかを考える前に、ウェブアプリの基礎的な構造を理解しておくことは必須です。 「フロントエンドとバックエンドの役割」、「クライアントとサーバーの違い」といった基礎知識は下記記事で確認してください▼
## Vite + Reactのセットアップ方法 では実際に始めていきましょう。 必要なツールはターミナル(コマンドを入力する画面)です。 ### ステップ① Node.jsをインストールする Viteを使うにはNode.jsが必須です。 まだインストールしていない方は、[Node.jsの公式サイト](https://nodejs.org)から「LTS版」をインストールしてください。 インストール後、ターミナルで下記を入力して確認します。 ```shell node -v ``` バージョン番号が表示されればインストールができています。 なぜフロントエンドのReactの開発でNode.jsが必要なのか、疑問に思った方はこちらをどうぞ▼
なお、はじめてターミナルを触る方へ。 ターミナルに表示されるユーザー名は自由に変更できます。 自分の名前や好きな文字列にしておくと、より快適に開発ができるでしょう▼
### ステップ② プロジェクトを作る ターミナルで次のように入力してください。 ```shell npm create vite@latest ``` 「Enter」キーを押して実行すると、プロジェクト名やフレームワークの選択を求められます。 セットアップのより詳しい手順と、各ステップの意味については、こちらの記事で画像つきで解説しています▼
言語選択ではJavaScriptだけでなく、TypeScriptも出てきます。 実は2026年のReact開発現場では、TypeScriptを使うのが標準です。 ReactとTypeScriptを最初から一緒に学ぶ方法は、こちらの記事で解説しています▼
### ステップ③ 起動する 以下のコマンドを入れましょう。 ```shell cd my-app npm install npm run dev ``` そしてブラウザで`http://localhost:5173`を開いてください。 Vite + Reactの画面が表示されれば、開発環境のセットアップが成功です。 ## 最初に理解しておくべきフォルダ構成 作成されたフォルダを見ると、中にはたくさんのファイルがあります。 最初はすべてを理解しなくて大丈夫です。 押さえるべきものは次の4つだけです。 ### srcフォルダ ここにReactのコードを書いていきます。 作業の99%はこのフォルダの中で行われます。 ### App.jsx(またはApp.tsx) 最初に表示される画面のコンポーネントです。 ここを書き換えるところからReact学習は始まります。 ### index.html Reactアプリの土台となるHTMLファイルです。 Reactはこのファイルの中に埋め込まれる形で動きます。 ### main.jsx(またはmain.tsx) Reactコードと`index.html`の接点となるファイルです。 これが`index.html`とつながって、ブラウザにReactが表示されます。 ## よく出るエラーと対処法 Viteでの開発中、初心者がよくぶつかるエラーを2つ紹介します。 ### npm installでエラーが出る Node.jsのバージョンが古い場合に起きることがあります。 `node -v`でバージョンを確認し、20以上でなければNode.jsを再インストールしてください。 ### ターミナルに大量のメッセージが表示される `npm run dev`を実行したとき、ターミナルにViteのメッセージが大量に表示されることがあります。 気になる場合は、表示を消す方法をこちらで解説しています▼
## コード品質を高めるツール 開発環境が整ったら、コードの見た目を整えたり、ミスを自動で検出してくれるツールも導入しておきましょう。 Prettierはコードのインデントや改行などの「見た目」を整えてくれます▼
ESLintはコードのルール違反やバグを検出してくれます▼
そしてBiome(バイオーム)は新しいツールで、これひとつでPrettierとESLint、2つの役割をこなしてくれます▼
## React + Viteの次に学ぶこと ### ページ設定(ルーティング) Reactアプリでは、ページの切り替えに専用のツールを使います。 React RouterやTanStack Routerというツールが人気です。 しかし実はそれらを使わずともページ設定は可能で、下記記事ではその方法を紹介しています。 ファイルをページとして使う方法はこちら▼
コードでページを設定する方法はこちら▼
### Reactを難しいと感じている場合 ここまでで、ViteでReactプロジェクトのセットアップと、ブラウザに画面を表示するところまではできたと思います。 「React開発のスタートライン」には立てたことになります。 しかしReact学習を続けていくと、「なぜこんなに難しく感じるのだろう?」、「何から学べばいいのだろう?」と悩む瞬間が必ずあります。 私自身も非IT系出身で、専門用語や学習方法に何度も苦しみました。 その経験から【専門用語なしでプログラミング】というテーマで教材制作や執筆活動をしています。 詳しくは自己紹介の記事に目を通してください▼
Reactを少し触ってみて難しく感じている方は、こちらの記事を参考にしてください▼
より包括的にReactを難しく感じる理由、そして乗り越え方をひとつにまとめたガイドもあります▼
## よくある質問 ### Vite以外の選択肢はありますか? 先ほども少し触れましたが、React開発ではNext.jsも選択肢のひとつです。 ただしNext.jsはサーバーサイドの機能を含む分、学習する範囲が広くなります。 「まずReactそのものを学びたい」という方には、Viteを使ったシンプルなReactの開発環境から始めるのがおすすめです。 Next.jsを包括的に知りたい方は下記記事をご覧ください。 様々な面からNext.jsを紹介しています。
### MacとWindowsで手順は違いますか? コマンド自体は同じです。 ターミナルアプリが異なります(Macは「ターミナル」、Windowsは「PowerShell」または「コマンドプロンプト」)が、入力するコマンドに違いはありません。 ### Reactは勉強はどのように進めていけばいいですか? HTML・CSSからReact・TypeScript・Next.jsまで、各ステップで何を学ぶかを整理した学習ロードマップがあります。 最初に学習の全体像を確認しておけば、スムーズに進むででしょう▼
### JavaScriptとTypeScript、どちらで始めるべきですか? 迷うならTypeScriptから始めてみましょう。 2026年の現場ではTypeScriptが標準になっているからです。 最初からTypeScriptで書く習慣をつけておけば、あとが楽になります。 TypeScriptがなぜ難しく感じるのか、そしてどう乗り越えるかはこちらで解説しています▼
TypeScriptをReact開発でどう使うか、始め方から各テーマまでひとつにまとめたガイドはこちらです▼
![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/guide-react-vite) ### ReactサーバーコンポーネントやReact 19の新機能はどこで学べますか? Reactの基礎を身につけた後、次のステップとして学びたいのがReactサーバーコンポーネント(RSC)やReact 19の新機能です。 SPA・SSR・RSCという流れと、useActionState・useOptimisticといった新しいHooksまで、こちらのガイドで解説しています▼
### 社内でReactを導入・研修したい場合はどうすればいいですか? 個人学習としてではなく、チームや会社でReactを導入したい、あるいは社員への研修を検討している担当者の方向けの情報をまとめています。 • 未経験社員をReactエンジニアへ。失敗しない教育ロードマップと研修のポイントReact研修の失敗しない選び方|外注研修の「現場で使えない」を防ぐ3つのポイントビギナーへのReact研修。教える前に知っておきたかった3つのこと なお、次節で紹介する「React × TypeScriptマスター」という教材は、元は個人の学習者向けに作ったものですが、法人の研修などでも使われています(下記記事参照)。 • 個人向けに作ったReact教材が、法人の社内研修でも使われていた話 ### Reactを体系的に学ぶにはどうすればいいですか? React入門ができても、就職や案件獲得、そしてAIが書いたコードを判断し、自分の作りたいものを形にするには、さらに実践的なスキルを身につける必要があります。 2026年のフロントエンド開発で必要なスキルをカバーした「React × TypeScriptマスター」という教材があります。 これは2024年の初版リリースから2年間、何度もアップデートを重ねてきた教材です。 教材を作った理由や利用者の声、返金保証の話などは下記の記事で詳しく書いています▼
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/guide-react-vite) --- # 【AI × React】アプリ開発の新刊が出ました URL: https://monotein.com/blog/new-book-release-ai-react 公開日: 2026.5.29 更新日: 2026.6.7 概要: AIを組み込んだReactアプリの作り方を専門用語なしで丁寧に解説する新刊を出版しました。好評の『はじめてつくるReactアプリ』の続編です。HTMLとCSSだけが前提知識。0円で完成・公開まで完結します。 ## AI × React新刊リリース *【追記】発売1週間でAmazonのランキング1位になりました ▼
![preview-1](../../images/singleBlogPageImages/blogArticleImages/amazon-ranking/react-ai-7june2026.jpg)
先日、新刊『はじめてつくるAI × Reactアプリ』をリリースしました。 はじめてつくるAI × Reactアプリ with TypeScript

はじめてつくるAI × Reactアプリ

【2026年5月発売】AIアプリをReactで作れるスキルが身につく本

Amazon Amazonで見る
この本は、リリースから5年以上読まれ続けているReact入門書『はじめてつくるReactアプリ』に、AI機能開発の内容を追加したものです。 TypeScriptを使ったバージョン(『はじめてつくるAI × Reactアプリ with TypeScript』)は、半月ほど前にリリース済みです▼ はじめてつくるAI × Reactアプリ with TypeScript

はじめてつくるAI × Reactアプリ with TypeScript

【2026年5月発売】AIアプリをReact × TypeScriptで作れるスキルが身につく本

Amazon Amazonで見る
## 本書の特徴 私の他の入門書同様、この本も下記のようなコンセプトで書いてあります。 --- ▶︎ 2〜3時間で成功体験を作れる\ ▶︎ 作りながら学ぶハンズオン形式\ ▶︎ 専門用語を使わないビギナーフレンドリーな解説\ ▶︎ 最新のReactバージョン19情報\ ▶︎ 0円で開発・完成・公開までできる ---- 前提知識はHTMLとCSSだけ。 JavaScriptの知識・経験は不要です。 本書では、都市名を入力すると、その日の天気と、AIが提案するおすすめの服装が表示されるReactアプリを開発・公開します。 ![image](../../images/singleBlogPageImages/blogArticleImages/blog249/app-look.jpg) 完成見本はこちらからどうぞ▼ • [react-ai-weather-app-book.netlify.app](https://react-ai-weather-app-book.netlify.app) ## TypeScriptなしで始める理由 「AI × Reactアプリを作りたい」と思っても、TypeScriptが壁になって前に進めない人は少なくありません。 TypeScriptでは余計にコードを書く必要があり、ハードルが上がるからです JavaScriptだけでも、ReactもAIとの接続もまったく同じように実装できるので、本書ではReactの基礎とAIとの接続により集中できます。 --- 「*Reactに興味はあるけど、何から始めたらいいかわからない*」 「*JavaScriptの経験が浅く、TypeScriptはまだ自信がない*」 「*AIを組み込んだアプリを、なるべくシンプルなコードで作ってみたい*」 --- そのような方に本書はぴったりです。 なお、将来的にTypeScriptに移行したい方にとっても、本書のReact + AIの土台が出来上がっていれば、TypeScriptの学習はずっとスムーズになります。 ## こんな方におすすめです • ReactとAI開発を同時に始めたい方 • HTML、CSSの知識がある方 • TypeScriptをまだ学んでいないが、AIアプリを作ってみたい方 • ポートフォリオに載せられる作品を短期間で作りたい方 詳細はAmazonのページでご確認ください▼ はじめてつくるAI × Reactアプリ

はじめてつくるAI × Reactアプリ

【2026年5月発売】AIアプリをReactで作れるスキルが身につく本

Amazon Amazonで見る
なお、フロントエンドの学習を効率的に進めるための学習ガイドも無料でご利用可能です▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/new-book-release-ai-react) --- # AI時代のReact学習で加速する「断片学習」とは? URL: https://monotein.com/blog/ai-era-fragmental-knowledge 公開日: 2026.5.27 概要: AIを使ったReact学習で増えている問題。知識は増えているのに、それを使えない。問題に対応できない....。AI時代に加速する「知識の断片化」と、その解決方法を解説します。 ## AIで加速する「断片学習」 「断片学習」とはその言葉の通り、ある事柄の一部だけを学習することです。 プログラミング学習における「断片化」は、AI以前からすでに起きていました。 --- • *YouTube*\ • *Qiita*\ • *Zenn*\ • *Stack Overflow*\ • *ブログ記事*\ • *X等のSNS.......* --- これらのサイトで、必要な部分だけを見て、目の前の問題だけを解決する。 こういう学習スタイルは以前から一般的だったのです。 ネットによって情報へのアクセスが簡単になり、学習しやすくなったのは大きなメリットです。 しかしAI時代になって、「知識の断片化」はさらに加速しています。 ## AI以前/以後の調べかた AI以前、エラーや疑問にぶつかったときは次のようにしていました。 --- *「useEffect エラー」とGoogle検索*\ ↓\ *複数の記事を自分で読み比べる*\ ↓\ *自分でコードを試す* --- 時間も手間もかかっていました。 しかし今は違います。 「このエラーを直して」とAIに聞くだけで、すぐに修正コードが返ってきます。 加えて、回答は非常に高精度です。 すると何が起きるのでしょうか。 「理解しなくても前に進めてしまう」です。 --- • *画面も動く*\ • *UIもできる*\ • *エラーも解決する* --- 「Reactをかなり書けるようになった気がする」という感覚を持ちやすいのです。 その結果、起きるのは予想通りのことです。 --- ・*なぜそのコードで動くのか分からない*\ ・*少し変更すると崩れる*\ ・*AIが生成したコードを読めない* --- これは知識が「線」ではなく「点」のまま、断片的なまま、増えていったことの当然の結果です。 点をいくら集めても「使える知識」にはなりません 「新しいことを知った」というつかの間の喜びは与えてくれても、役には立たないのです。 ## なぜAIで断片化が加速するのか? 断片化の理由。 それはAIの回答が高精度だからです。 AI以前の調べ方には、ノイズ(不要な情報)がたくさんありました。 私たちは情報を集め、取捨選択し、そして自分の状況に合うよう整形する必要がありました。 しかしこの時間のかかる過程こそが、気付かぬうちに私たちの視野を広げ、周辺知識を与えてくれていたのです。 AIはノイズを取り除き、正解だけを出してくれます。 とても効率的で、とても生産的で、とても断片的です。 この結果、物事の全体像は見えにくくなりました。 ## AI時代、逆説的に高まる学習熱 AI登場以降、React学習者の2極化が進んでいます。 --- • 「*AIがアプリを作ってくれる。だからもう自分は何もしなくていい*」 • 「*AIが書いてくるコードを理解できない。実は自分には分かっていないことが多かった*」 --- AIによって「Reactに触る人」は増えました。 同時に「理解不足を感じる人」も増えたのです。 --- 「*AI時代だからこそ、React全体をちゃんと理解したい*」 最近はこういう声を以前より多く聞くようになりました。 これも自然な流れです。 ## 断片的学習を防ぐ方法 • 「*AIですべて完結すると考えない*」 そして、 • 「*最初に全体を理解する*」 --- これが断片的学習を防止する上で重要です。 AIは便利で、私自身も日常的に使っています。 しかし、AIだけで学習を完結させようとすると、どうしても理解が断片的になります。 どこかの地点で一度AIを離れ、React全体をまとまった形で学ぶ必要があるのです。 --- 実は断片的な知識は、「全体を理解している人」に対してだけ役に立つものです。 たとえばパズル。 完成図を知らないまま、ピースだけ大量に渡されたとしましょう。 どれを、どこにあてはめればいいのか分かりません。 しかし全体像を知っている人なら、「これはここに入るな」と推測・判断ができます。 Reactでも同じです。 • props/state\ • コンポーネント\ • 非同期処理\ • useEffect\ • useReducer...... こういった部分知識は、全体の中でつながっています。 全体を知らないまま断片だけ集めていても、「知っている言葉」は増えても、「使える力」は得られません。 --- 「*なぜそうなるのか*」 「*どうつながっているのか*」 これは私がReactを教える時に重視していることです。 ReactとTypeScriptを一緒に教えることも重要視しています。 2026年のいま、Reactだけではもう十分ではなくなっているからです。 実際、AIが生成するReactコードの多くもTypeScriptで書かれています。 しかしTypeScriptには「React開発でよく使う機能」と「ほとんど使わない機能」があり、すべてを学ぶ必要はありません。 React開発者向けに、何をどこまで学べばいいのかをまとめたガイドがあります▼
「なんとなく動く」から「自分で判断できる」開発者になるためには、React × TypeScript全体を体系的に学習しましょう。 Reactの難しさを感じているなら、まず「何がつまずきポイントなのか」を整理することが先決です。 JavaScriptの理解不足、stateの概念、断片的な学習の落とし穴など、初心者がつまずく理由と具体的な乗り越え方をまとめたガイドがあります▼
またReactをマスターするのに最適な教材があります。ぜひ活用してみてください。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/ai-era-fragmental-knowledge) ## よくある質問 ### AIを使っても学習はできますか? できます。 重要なのは「AIを使う/使わない」ではなく、「AIの回答を評価できるか否か」です。 そしてこれは、React全体を体系的に理解している人だけができることです。 「全体」が見えないと「部分」や「断片」の評価はできません。 AIを使いこなすには、まず全体をしっかりと理解することが先決です。 ### 動画やブログでReactを学んできました。体系的に学ぶこととは何が違うのですか? 動画やブログは「知りたいことをピンポイントで知る」には優れています。 その一方、全体の構造は教えてくれません。 体系的な学習とは、props、state、コンポーネント、レンダリングなどの概念が「なぜそうなるのか」「どうつながっているのか」という文脈を学ぶことです。 木を見たとき、その木だけしか見えないか。 あるいは、その背後の森も見えるか。 この違いが「知っている」と「使える」の差を生みます。 ### ある程度Reactを書けるようになってから、体系的に学び直す意味はありますか? むしろそのタイミングこそ、体系的な学習が効果を発揮します。 「なんとなくコードは書ける。でも自分でゼロから設計できない」という段階の人は、全体像をつかむことで一気に応用力が上がります。 学び直しと感じるかもしれませんが、実際には「点をつなげる」作業になります。 ### 今のAIツールのレベルなら、Reactをちゃんと理解しなくてもアプリは作れますよね? 作れます。 複雑なReactアプリでも作れます。 しかし内部構造を理解していなくても許されるのは、それが趣味の範囲に収まっている時だけです。 仕事としてアプリ開発に携わるとき、つまり責任を持って行うときには、「AIが書いたから使いました」は通用しません。 AIの書いたコードを評価・判断し、責任を持って使えるのは、Reactの全体像を理解している人だけです。 ### React × TypeScriptを体系的に学べる教材はありますか? あります。 私の教材『Reactマスター』と『TypeScriptマスター』は、「なぜそうなるのか」「どうつながっているのか」を軸に、React × TypeScriptの全体像を体系的に学べるように設計しています。 断片的に知識を集めてきた方が、全体像をつかみ直すのにも適した教材です。 ### 「体系的に学ぶ」ための時間が取れるか不安です。どれくらいかかりますか? 人それぞれ学習ペースは異なるので、明確な回答は差し上げられません。 大切なのは時間の長さよりも、「全体をつなげて理解する」という目的を持って学ぶことです。 断片的に何時間学んでも埋まらない空白が、体系的な学習で短期間で埋まることがあります。 詳しくは下記リンクのページをご覧ください。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/ai-era-fragmental-knowledge) --- # AIでReactアプリを作れる時代。なぜReact学習者は増えている? URL: https://monotein.com/blog/ai-era-why-more-people-learn-react 公開日: 2026.5.26 概要: AIがReactアプリを自動生成する時代。にもかかわらず、Reactを本気で学び直す開発者が増えています。AI時代のReact学習者に起きている変化を整理します ## バイブ・コーディングの時代 最近はAIコーディングが一般的になってきました。 • Cursor\ • Claude Code\ • v0\ • Bolt\ • Lovable これらのAI開発ツールをほとんどの開発者は使っています。 ビギナーでも、いや、そもそもプログラミングの経験がない人でも使っています。 普通の日本語で指示を出すだけで、AIがアプリを作ってくれるからです。 AIにすべてを丸投げする「バイブ・コーディング」という言葉も、よく聞くようになりました。 そしてこういったAIツールの出すコードの大半はReactベースのものになります。 AIはオンライン上の情報を学んでいるからです。 オンライン上にはReact関係の情報がもっとも多いからです。 ## React学習者の2極化 こういう状況を見れば、次のように考えるのは自然です。 「*Reactを勉強する人は減っている*」 しかし実際はもう少し複雑です。 二極化が進んでいます。 一方が、「*AIが全部書いてくれる。もう勉強する必要はないな*」というグループ。 他方が、「*AIの書いてくるコードがわからないな....。もっと勉強しなきゃ*」というグループ。 どちらのグループになるのかは、その物事が当人にとってどれだけ大切なのかによります。 趣味としてなら、前者のグループの意識で十分です。 しかし、プロとして、仕事としてなら、当然後者の意識を持つことになります。 自分の理解できないコードで作り上げたアプリの責任は取れないからです。 AIの登場で「AIの書いたコードを人間が理解できない」という場面が増えました。 そのため、逆説的ですが、人間の開発者の学習熱が高まっているのです。 Reactの「体系的な理解」を求める気持ちが高まっているのです。 そしてこれはReactやフロントエンドに限った話ではありません。 私は半年ほど前に下記の記事を書きました。 この記事で触れているのは、AIによって基礎分野(アルゴリズム、データ構造、アーキテクチャ、セキュリティなど)の勉強を促す動きが広がっていることです。 AIによって、逆説的に開発者の学習意欲は高まっています。 そしてこれは日本だけの話でもなく、当然海外でも状況は同じです。 ## React入門が簡単になって起きたこと AIのおかげでReactに入門するハードルは下がりました。 以前は環境構築で脱落する人が大勢いましたが、今ではそれもすべてAIで簡単に解決できます。 エラーメッセージも、そのままコピペするだけで、AIが親切に対応方法を教えてくれます。 入門の壁は無くなりました。 しかし入門後に別の壁が現れました。 「*動いてはいるけど、なぜ動いているのか分からない.....*」という問題です。 つまり今起きているのは、こういうことです。 --- AIによって「Reactに触る人」は増えた。 しかし「理解不足を感じる人」も増えた。 --- なんとなくAIを使って作ったものは、結局なんとなく動くアプリなのです。 • なぜ動いているのか、わからない……\ • どうやって新機能を追加するのか、わからない……\ • エラーが出た時どう対処するのか、わからない…… 「なんとなくの塊(かたまり)」になってしまう。 これがReact学習への関心が高まっている理由です。 同時に、AIによって「知識の断片化」はさらに加速しています。 これも体系的な学習の必要性を感じる人が増えているもう一つの理由です。 詳しくは下記記事をご覧ください▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/ai-era-why-more-people-learn-react) ## よくある質問 ### CursorやClaude CodeなどのAIツールを使いこなせれば、Reactを深く学ばなくても大丈夫ではないですか? ツールを使いこなすことと、コードを理解することは別の話です。 AIツールは優秀ですが、「生成されたコードが正しいか?」、「自分の意図通りか?」、そして「実際に使うかどうか?」を判断するのは人間です。 こうした判断力はReactの理解から生まれます。 ツールが強力になるほど、使う側の判断力が重要になります。 「AIは人間のような日本語を書ける。だから日本人は日本語をもう勉強しなくていい」とはならないのと同じです。 ### 趣味でアプリを作りたいだけでも、Reactをちゃんと学ぶ意味はありますか? 趣味レベルであれば、AI生成のReactアプリで十分だと思います。 コードやアプリに致命的な問題があっても、そのダメージも責任も小さいからです。 しかし、Reactを理解した上でAIツールを使えば、アイデアを形にする楽しさも充実感も上がることは確かでしょう。 「Reactのどこでつまずくのか」「どういう順番で理解していけばいいのか」を具体的に知りたい方は、こちらのガイドも読んでみてください▼
「体系的に学ぶ」と決めたら、次は「何から・どの順番で始めればいいか」という具体的なガイドが必要です。 HTML・CSSからReact・TypeScript・Next.jsまで、2026年版の学習ロードマップと各ステップの進め方をまとめたガイドはこちらです▼
### 学習のタイミングはいつがいいですか? AIの進化でReactもすぐ使われなくなりますよね? いまReact、TypeScript学習の必要性を感じているなら、今から始めるのが最善です。 Reactに関しては、現在の世界的な利用率から考えて、この先も当分の間は使われ続けることは確実です。 また、「テクノロジーやツールの進化は思っているよりも早くない」というのが私の実感です。 私は5年前にReactの入門書を出しました。 当時は「1年もすれば誰も読まない本になっているだろう」と思っていました。 「この変化の早いフロントエンド分野で、ひとつのツールがそんなにも長く使われ続けるわけがない」と考えていたのです。 それから5年が経ちました。 いまだに読まれています。 「ほそぼそと....」といったレベルではなく、Amazonの売上ランキング3位以内に入ることが今もあります。 こういう状況を見て、一番驚いているのは私自身です。
![preview-1](../../images/singleBlogPageImages/blogArticleImages/amazon-ranking/react-ts-5june2026.jpg)
ツールの進化は思っていたよりもゆっくりだといえます。 いまReact・TypeScriptを必要と感じているなら、いまが始めるタイミングです。 「理解している人がAIを使う」と「理解していない人がAIを使う」では、半年後・一年後の差は広がり続けます。 また、AIが生成するReactコードのほとんどはTypeScriptで書かれています。 そのため現在のReact学習では、ReactだけでなくTypeScriptの理解も重要です。 「TypeScriptとは?」、「React開発ではどこまで学べばいいの?」という方は下記ガイドをご覧ください▼
### 「Reactを体系的に学ぶ」とは、具体的に何を学ぶことですか? 「React」と一言で言っても、その中には様々な仕組みやコンセプトが含まれています。 それらを「個別の知識」としてではなく、「なぜそうなるのか」、「他とどうつながっているのか」という文脈の中で理解すること。 これが体系的な学習です。 高校で習った日本史を思い出してください。 「奈良時代」、「平安時代」、「鎌倉時代」、「江戸時代」といった時代がありました。 これらは一見独立した個別の項目のようにも見えますが、実際にはそれぞれが深くつながっています。 戦国時代があったから江戸時代があり、平成があったから令和があるのです。 個別の知識、断片的な知識を得ることは楽しいですが、欠片(かけら)をいくら集めても全体は見えません。 ある時点で断片的なものからは一度離れ、全体を体系立てて学ぶことが重要です。 React × TypeScriptの体系的な学習に最適な教材があります▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/ai-era-why-more-people-learn-react) --- # 【AI × React × TypeScript】アプリ開発の新刊が出ました URL: https://monotein.com/blog/new-book-release-ai-react-typescript 公開日: 2026.5.15 概要: AIを組み込んだReactアプリの作り方を専門用語なしで丁寧に解説する新刊を出版しました。TypeScript使用。HTMLとCSSだけが前提知識。0円で完成・公開まで完結します。 ## AI × React × TypeScript新刊リリース 本日、新刊『はじめてつくるAI × Reactアプリ with TypeScript』をリリースしました。 はじめてつくるAI × Reactアプリ with TypeScript

はじめてつくるAI × Reactアプリ with TypeScript

【2026年5月発売】AIアプリをReact × TypeScriptで作れるスキルが身につく本

Amazon Amazonで見る
この本は、リリースから5年以上読まれ続けているReact入門書『はじめてつくるReactアプリ with TypeScript』に、AI機能開発の内容を追加したものです。 また5月27には、TypeScriptではない普通のJavaScriptを使ったバージョンもリリースしました▼ はじめてつくるAI × Reactアプリ

はじめてつくるAI × Reactアプリ

【2026年5月発売】AIアプリをReactで作れるスキルが身につく本

Amazon Amazonで見る
## 本書の特徴 私の他の入門書同様、この本も下記のようなコンセプトで書いてあります。 --- ▶︎ 2〜3時間で成功体験を作れる ▶︎ 作りながら学ぶハンズオン形式 ▶︎ 専門用語を使わないビギナーフレンドリーな解説 ▶︎ 最新のReactバージョン19情報 ▶︎ 0円で開発・完成・公開までできる ---- HTMLとCSSの知識だけで読み進められます。 JavaScript/TypeScriptの経験が無くても大丈夫です。 本書では、都市名を入力すると、その日の天気と、AIが提案するおすすめの服装が表示されるReactアプリを開発・公開します。 ![image](../../images/singleBlogPageImages/blogArticleImages/blog249/app-look.jpg) 完成見本はこちらからどうぞ▼ [react-ai-weather-app-book.netlify.app](https://react-ai-weather-app-book.netlify.app) ## なぜAI × React × TypeScriptアプリなのか 現在のフロントエンド開発では、React + TypeScriptが事実上の標準になっています。 それも、「ただのReactアプリ」ではなく、「AI機能を組み込んだReactアプリ」が当たり前になってきています。 本書ではその両方を同時に学べる構成にしました。 --- 「*Reactに興味がある*」 「*JavaScriptが難しくてReactに進めない*」 「*TypeScriptに苦手意識がある*」 「*AIの組み込み方がわからない*」 --- このような方でも、手を動かしながら自然にAI × Reactアプリ開発を始められます。 そして2026年のフロントエンド開発現場で求められるスキル、React + TypeScriptを使えます ## こんな方におすすめです • React + TypeScriptをこれから本格的に学びたい方 • HTML、CSSの知識がある方 • AIを活用したアプリを自分で作ってみたい方 • ポートフォリオに載せられる作品を短期間で作りたい方 詳細はAmazonのページでご確認ください▼ はじめてつくるAI × Reactアプリ with TypeScript

はじめてつくるAI × Reactアプリ with TypeScript

【2026年5月発売】AIアプリをReact × TypeScriptで作れるスキルが身につく本

Amazon Amazonで見る
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/new-book-release-ai-react-typescript) --- # React × TypeScript最強教材の2年間を振り返る(構想5年の歩み) URL: https://monotein.com/blog/about-master-courses 公開日: 2026.5.11 概要: React × TypeScriptを体系的に学ぶ「Reactマスター」と「TypeScriptマスター」をリリースして2年。返金申請はゼロです。AI時代に価値が高まる体系的な教材のこれまでの歩み、進化の歴史、質問への回答をまとめました。 私は「Reactマスター」と「TypeScriptマスター」という教材を販売しています。 React × TypeScriptを体系的に学ぶための教材です。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/about-master-courses) 両教材の最初のリリースから2年、増補版のリリースからは約1年が経ちました。 今回はこのReact・TypeScriptマスター教材について少し振り返ります。 ## 構想5年、初版リリースから2年の歩み ### 自分がビギナーだったときに欲しかった教材 私がReactビギナーだった当時、「これだけあれば大丈夫」と言えるReact教材はありませんでした。 ネットで探せば、断片的な記事や動画はいくらでも出てきます。 しかし、その中から必要なことを選び出すのは自分。 とはいえ、ビギナーである自分には、「どれが大事で、どれがそんなに大事ではないか」という判断はほぼ不可能。 でもとにかくやるしかない.....。 ということで学習を進めていたのです。 あの時から時間がずいぶんと流れているので、いま振り返れば「あれはあれで楽しかったかな」という気もします。 毎日勉強しては「昨日の自分よりも今日の自分は進めている」という前進の感覚は、勉強の醍醐味です。 と同時に、効率は非常によくなかったと思います。 --- いまになって分かるのは、当時の私に足りなかったのは「情報の量」ではなかったということです。 記事も動画も、すでに十分すぎるほどありました。 足りなかったのは、「何を、どれだけ、どの順番で学べばいいのか」という道筋です。 つまり全体像。 Reactの全体像です。 【 必要なことが、正しい順番で、一カ所にまとまっている教材 】 そういうものがあれば、もっとスムーズに学習を進められたはずです。 そしてこれは、そのまま「私自身が作りたい教材」になりました。 --- またTypeScriptに関しては、当時も今も「React開発で使うTypeScriptにフォーカスしたビギナー向け教材」というものはほとんどありません。 TypeScriptには「React開発でよく使う機能」と「ほとんど使わない機能」があります。 すべてを学ぶ必要はなく、前者に絞った方が学習は効果的に進められるのです。 そういう中で、私は2021年にAmazonの電子書籍でReactの入門書を出しました。 はじめてつくるReactアプリ with TypeScript

はじめてつくるReactアプリ with TypeScript

【発売から5年読まれ続けているReact × TypeScript入門書の決定版。2026年1月第3版発売。】

Amazon Amazonで見る
これも「私がビギナーだったときに欲しかった教材」として作ったものですが、扱っている内容はReact未経験者向け。 「その先」まで導く教材は、この続編として作ろうと思っていました。 さらに読者からの声にも背中を押されます。 上記のReact入門書の読者から、 --- 「*React入門に成功したけど、次はどの教材を使えばいいですか?*」 「*同じ先生の教材で学びたいので、続編を作ってください*」 --- という声がいくつもあったのです。 そうして作ったのが、Reactの全体像を一本につなげる「Reactマスター」と、【ReactでTypeScriptを使う】に的を絞った「TypeScriptマスター」です。 ### 最初はテキスト版 リリースは2024年2月(当時の記事)。 この時はPDF、つまりテキスト版のみでの提供でした。 販売プラットフォームは、今でも使っているBase(ベイス)というオンラインショップ作成サービスで作ったものです。 ここで私には不安が一つありました。 それまで電子書籍を販売していたAmazonは、何もしなくても人がやってくるという、いわば「ショッピングモール」。 一方、Baseという独自のECショップは、オンラインという大きな海の中の「孤島」。 Amazonとは真逆の環境といえます。 「*見つけてくれる人、買ってくれる人、本当にいるのかな?*」という不安があったのです。 しかし販売初日から多くの人が購入し、学習を進め、「なんとなく書ける」を卒業していきました。 就職や案件獲得といった報告も届くようになりました。 さらにReact周りでも、2024年末にバージョン19のリリースがあり、多くの機能が追加されました。 そのため、次のステップとしてリリースしたのが動画版です。 ### 動画版リリース 動画版では、テキスト版をベースに、Reactバージョン19の新機能の追加や古くなっていた解説の改訂を行いました。 そしてリリースしたのが2025年3月です(当時の記事)。 販売プラットフォームは、テキスト版販売でも使っていたBaseショップ。 そして動画は、Vimeoという動画プラットフォームにパスワード付きで用意。 これはこれで特に問題はなかったのですが、ユーザーの方から「*テキストでも学習したい*」という声がありました。 また私にも、「*Vimeoでは学習に集中しにくいかな*」という印象がありました。 そこで、動画のテキスト版を手打ち(=AIを使った文字起こしではない、という意味です)で用意し、さらに学習専用のサイトも用意して、改めてリリースしたのが「増補版」です。 ### 増補版リリース 増補版の目玉は学習専用サイトです。 目次と動画、そしてテキストが同時に確認できるようになっています▼ ![react-ts-master-studying-site.png](../../images/commonImg/react-ts-master-studying-site.png) このテキストは、動画の単なる文字起こしではなく、「読むだけでも理解できる」というのが特徴です。 PDFとして切り出しても、それだけで成立するレベルです。 これによって、動画視聴が難しい環境でも学習を継続できるようになりました。 さらに「1周目は動画、2周目はテキスト」というように、異なるスタイルで飽きずに学習を進めることも可能です。 実際の教材の中身は下記ページで確認できます。動画+テキストの実際の学習環境です▼ • [master-courses-trial-learning-site.vercel.app](https://master-courses-trial-learning-site.vercel.app/course/react-master/?utm_source=/blog/about-master-courses) --- .......このように本教材は、2024年のリリース以来、何度か大きく手を入れています。 教材を利用された方からは、これまでにレビューをいくつも頂きましたが、印象深かったのはある受講者のお母さんからのものです。 「*息子がこのマスター教材で勉強して、エンジニアとして就職できました*」というものでした。 なお、この増補版リリース時に合わせて「全額返金保証(購入後2週間以内は理由を問わず返金)」を付けました。 この話は少し後でします。 ## AIの登場で変わった教材の役割 この2年間で一番大きな変化は、実は教材の外側で起きました。 AIです。 CursorやClaude Codeを使えば、ビギナーでもReactアプリを作れるようになりました。 環境構築やエラーで脱落する人はいなくなり、入門の壁はほぼ消えました。 しかし「Reactに触る人」が増えると同時に、「理解不足を感じる人」も増えたのは事実です。 AIの回答は高精度なので、理解しなくても前に進めてしまいます。 その結果、知識は「点」のまま増えていきます。 点をいくら集めても点にはならず、そして「使える知識」にはなりません。 この辺りのことは、下記の2つの記事に詳しく書いてあります▼ --- • AIでReactアプリを作れる時代。なぜReact学習者は増えている?AI時代のReact学習で加速する「断片学習」とは? --- 2026年のアプリ開発では、かつての「コードを書く」という仕事は、「AIが書いたコードをチェックする」に変わっています。 しかし「チェックする」、「確認する」、「修正点があれば的確な指示を出す」という能力は、ある日いきなりできることではありません。 「全体像の理解」と「知識の体系的な積み上げ」があって初めてできることです。 【 *体系的な教材の必要性は、AI以前よりもむしろ高まっている* 】 これが、この2年間を通した私の実感です。 ## 個人の方だけでなく、法人での利用も ReactマスターとTypeScriptマスター、どちらも個人の学習者の利用を想定していました。 しかし増補版の購入者の中には、企業や法人の研修担当者もいて、話を聞いてみると、社内研修で使われているようです。 こういう使われ方は想定していなかったので意外でしたが、個人であれ、法人であれゴールは同じです。 【 React × TypeScriptを、自分で判断しながら使えるようになる 】 このゴールに到達できるのであれば、(多少のカスタマイズが必要な時もありますが)教材を厳密に区別する必要はありません。 個人学習から法人研修まで、少しずつ利用の幅が広がってきているのを感じます。 ## 返金保証をつけた話(→ 返金申請ゼロ) さて、先ほど増補版では返金保証を付けた話をしました。 これは私が買い手の立場に立った時のことを考えたからです。 ReactマスターとTypeScriptマスター、どちらも安い教材ではないので、買う方としては当然不安になるでしょう。 そこで思いついたのが返金保証、より詳しくは「購入後2週間以内は理由を問わず返金」です。 しかし私には若干のためらいもありました。 --- 「*返金依頼が連発したらどうしよう*」 「*2週間のうちに教材をやり終えて返金、といったタダ乗りをされるかもなあ*」 --- 教材のクオリティについての自信はありました。 それは私の主観的な自信だけでなく、2024年のテキスト版、2025年の動画版と、どちらも一度もクレームを受けなかったという客観的な事実から来る自信です。 それでも、こういったことは私が作り手・売り手だから思うことで、何も知らない買う側の立場に立ってみれば、やはり不安です。 なので理由を問わない返金保証を付けました。 ---- それから1年以上が経ちます。 これまでの返金依頼はゼロです。 ## よくある質問 ### AIで無料で学べるのに、教材を買う意味はありますか? AIは便利で、私自身も毎日使っています。 しかし、AIだけで学習を完結させようとすると、理解はどうしても断片的になります。 断片的な知識を評価して使いこなせるのは、全体像を理解している人だけです。 【 必要なことが、正しい順番で、一カ所にまとまっている 】 こういう教材の価値は、情報が無限に手に入るようになったAI時代のいま、むしろ上がっています。 ### 値段が高くないですか? UdemyなどのプラットフォームのReact教材と比べると、確かに高く見えるかもしれません。 しかし本教材の中心的な価値は、動画の本数ではなく「構成」にあります。 「何を、どれだけ、どの順番で学ぶか」を設計し終えた状態で学習を始められる、ということです。 さらに学習専用サイト、書き下ろしテキスト、永久アクセス保証といった特典も含まれています(詳しくは下記)。 React・TypeScriptの案件単価は高めなので、「コストではなく投資」という考え方をされる方が多いようです。 ### 質問やサポートはありますか? 増補版には3大特典として、次のものが含まれています。 • 内容が更新された際の、追加料金なしのアクセス\ • 直接サポート\ • 永久アクセス保証 また上にも書きましたが、購入後2週間以内は全額返金保証があります。 ### ReactマスターとTypeScriptマスター、両方買う必要がありますか? 必須ではありませんが、ReactマスターとTypeScriptマスターのセットが一番よく購入されています。 2026年のReact開発では、TypeScriptで書くのが一般的だからです。 AIが生成するReactコードの多くも、TypeScriptで書かれています。 「Reactマスター」でReactの全体像を固め、そのうえで「TypeScriptマスター」でReact × TypeScriptへと進む。 これが実務に一番近い形です。 なお、2つをまとめて購入できるまとめ買いプランも用意しています。 単品2つを別々に購入するよりお得になっているので、両方ご検討の方はまとめ買いプランを検討してみてください▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/about-master-courses) --- # 【エンジニア・ライター】執筆の依頼について URL: https://monotein.com/blog/my-technical-writing-service 公開日: 2026.5.5 概要: 技術わかる × 書ける × 教えられる。技術記事を執筆するエンジニアライター。React・TypeScript・Next.jsなどのモダンフロントエンド開発に精通。商業出版・Amazonランキング1位・Google検索1位の実績あり。SEO記事、技術監修、書籍制作、英文記事のローカライズまで対応。 ## React・Next.js等のフロントエンド技術記事ライティング 私は主にビギナーにプログラミングを教えています。 そういう中で何度か、技術記事の執筆を依頼されたことがあります。 「どんな記事が書けるのか」「どういうプロセスなのか」というご質問をいただくことが多かったので、今回わかりやすいようにここにまとめておきます。 執筆依頼を検討されている方は、まず本記事を読んでいただけると幸いです。 ## 提供できるサービス ◾️ 技術記事執筆(ブログ/オウンドメディア/SEO)\ → 企業の技術ブログやオウンドメディア向けに、主にフロントエンド領域の記事を執筆します。SEOを意識した記事設計も対応しています。 --- ◾️ 技術監修(記事レビュー・リライト)\ → 社内で作成された記事の内容確認や、表現の改善・リライトも行います。 --- ◾️ 書籍・教材の制作支援・代行(ゴーストライティング)\ → 技術書やプログラミング教材の制作サポートや執筆代行を承ります。 --- ◾️ 英語記事の翻訳 + ローカライズ\ → 単なる翻訳ではなく、日本人の読者が理解しやすいように内容を再構成します。 --- ◾️ ニュースレター/メルマガの執筆代行\ → 現在進行形でメルマガを運営しています。継続的な配信コンテンツの制作も対応しています。 ## こんな課題を解決できます • 技術記事を書ける人材が社内にいない • エンジニアが書くと、読者には難しすぎる内容になってしまう • 技術ブログを始めたいが、何を書くべきかわからない • 英語の技術情報を、日本語コンテンツとして発信したい --- *本当に必要とされているのは「記事」ではない。検索流入の増加、認知の拡大、企業ブランドへの信頼構築といった「結果」である、ということを意識して執筆しています。 ## 執筆スタイル ### 専門用語を使わない(ビギナーフレンドリー) 私は非IT出身です。 プログラミング学習を始めたときには、教材や記事で使われている専門用語の理解に苦労しました。 その経験から、「専門用語なし」というスタイルにこだわってプログラミングを教えています。 必要に応じて専門用語を使うこともありますが、平易な言葉で説明することを心がけています。 技術に明るくない読者やビギナーにも届けるためです。 ### 読者が次に何をすればいいか明確 インプットは快適です。 しかし記事の本当の目的は、読者になんらかの行動を起こしてもらうこと。 読んで「なるほど」で終わらず、読んだあとに行動できる記事の執筆を意識しています。 ### 「なぜ」まで書く コードや手順の説明だけでなく、なぜそう書くのかという背景と理由まで伝えます。 それが読者の本当の理解につながり、「もっと知りたい」という気持ちを刺激するからです。 ### でも、書きすぎない 前項と矛盾するようですが、説明過多になることを私は常に心配しています。 「正しさ」と「分かりやすさ」は、しばしば相反するものです。 そのような時、私が優先するのは「分かりやすさ」です。 技術の説明における正確さの重要性は重々知りながらも、「分かりやすさ」を取ります。 初心者や専門外の人には、「まず分かってもらう」ということが重要だと考えているからです。 ## 他のライターとの違い 技術記事には、大きく次の2つのタイプがあります --- • エンジニアが書く記事\ → 技術的に正確だが、難しすぎて伝わらない • ライターが書く記事\ → 読みやすいが、内容が浅い --- 私はエンジニアとしてReact・TypeScript・Next.jsを代表とするモダンフロントエンドの開発に携わりながら、それと同時進行でプログラミング教育、教材制作(主に書籍・記事・動画)、発信活動を6年以上行ってきました。 最新の技術情報を反映させた、初心者にも伝わる内容を書ける理由の一端はここにあると考えています。 以下、これまでの実績を一部紹介します。 ## 主な実績 ### 商業出版・海外での出版 翔泳社より技術書を出版しています。 2025年には韓国でも翻訳・出版されました。 • [動かして学ぶ!Next.js/React開発入門](https://www.shoeisha.co.jp/book/detail/9784798184678) • 韓国語版 ### 電子書籍(30冊以上) 過去5年で30冊以上の技術書を制作してきました。 React、TypeScript、Next.jsをはじめ、JavaScript、Vue、Node.js、Expressの入門書も出しています。 「出して終わり」になる本が多い中、電子書籍であることを活かし、継続的に書籍内の情報をアップデートしていることが特徴です。 その結果、次に紹介するAmazonランキング1位の本や、第3版まで出ている本があります。 ### Amazonランキング1位 Amazonのランキング1位を複数回、獲得しています (*すべてではありませんが、私が気づいた範囲でのランキング1位になった時点のスクリーンショットはXにアップしてあります:[x.com/monotein_/media](https://x.com/monotein_/media)) Amazonに数多くあるReact書籍の中で、拙著『[はじめてつくるReactアプリ with TypeScript](https://www.amazon.co.jp/dp/B094Z1R281)』がもっとも高い評価の本になっています(レビュー数100以上のReact書籍との比較)。 また同書はNo.1の高評価が付いた本にもなっています。
![image](../../images/singleBlogPageImages/blogArticleImages/blog247/react-ts-book-no1.jpg)
この『[はじめてつくるReactアプリ with TypeScript](https://www.amazon.co.jp/dp/B094Z1R281)』は個人の学習者だけでなく、社員教育用の教材として企業でも使われています。 --- 私の書籍・電子書籍はすべて、上述の「専門用語なし」のメソッドに基づいて書いてあります。 これらの数字は、「専門用語なし」という教授法が机上の空論ではなく、5年以上にわたって多くのプログラミング初心者に支持されてきた客観的な証だと考えています。 ### 250以上の記事とGoogleランキング1位 6年以上、私のサイトmonotein.comにてフロントエンド関連の記事を書き続けています。 その中の複数の記事がGoogle検索1位です(5位以内のポジションを獲得している記事も多数)。 • 「React + Vite」関連キーワード Google検索1位 ▼\ (monotein.com/blog/react-vite-how-to-use
![image](../../images/singleBlogPageImages/blogArticleImages/blog247/search-result-1.jpg)
• 「Next.js React + Vite」関連キーワード Google検索1位 ▼\ (monotein.com/blog/react-vite-or-nextjs-which-to-choose
![image](../../images/singleBlogPageImages/blogArticleImages/blog247/which-react-next.jpg)
### 英語情報へのアクセス 海外に長く住んでいました。今でも1年の半分は海外にいます。 英語で発信されたフロントエンドの最新情報を、日常的に開発業務に活用しているので、日本語情報が少ない技術についてもいち早くコンテンツにできます。 ## 制作プロセス 以下はこれまでの一般的な執筆の流れです。状況やニーズに応じて柔軟に対応します。 --- 【1】\ ヒアリング(記事の目的、想定読者、トーン、キーワードなどの確認) 【2】\ 構成案の提出・承認(執筆の構成確認) 【3】\ 初稿の執筆 【4】\ 修正(回数・条件等は事前相談) 【5】\ 納品 ## 料金 案件の内容や規模によって異なります。まずはご相談ください。 ## その他できること 執筆に関係するサービスも提供しています。 ◾️ プログラミング教材開発支援\ → 企業研修向けの教材設計、社内勉強会用のスライド・ハンズオン資料の作成、新人研修カリキュラムの構築をサポートします。 --- ◾️ 電子書籍制作サポート\ → 電子書籍の制作を7年以上行っています。企画立案〜発売後の施策まで一連のサービスを提供しています。 • 構成づくり\ • 読みやすく伝わる形への編集\ • 編集・制作ノウハウの共有\ • 表紙デザイン・制作\ • 広告・販促素材の作成 ## お問い合わせ ご相談は下記メールアドレス/お問い合わせページからお気軽にどうぞ。 • contact@monotein.com • お問い合わせページ --- # ビギナーへのReact研修。教える前に知っておきたかった3つのこと URL: https://monotein.com/blog/important-thing-teaching-corporate-react 公開日: 2026.4.30 概要: React研修の担当になったけど、何から教えればいい?JavaScriptを先に完璧にしなくても、ReactはHTML/CSSの延長で始められます。技術的な順番より先に知っておくべき、ビギナーを自走させるための根本的な考えを紹介。 ## Reactを教える前に知っておくべきこと 私が以前教えていた生徒の中には、シニアやテックリードのポジションについている人もいます。 新年度のこの季節には、新卒エンジニアへのReact研修にアサインされている人もいます。 そういう彼ら彼女らから聞くのは、 --- 「*どこから始めて、何を教えればいいのかよく分からない*」 --- といった言葉。 自分がReactを使えていても、それを教えるというのは別の能力です。 また、「Reactのことはあまり知らないのに研修担当に割り当てられた」という人もいるでしょう。 なので今回は、React研修を始める前に担当者が知っておきたいことを紹介します。 「まず最初にJSXを教えて、次にイベント処理を教えて」といった技術的な話ではなく、それよりも重要な、より根本的な話です。 ## JavaScriptは理解してなくていい 最初に知っておいて欲しいこと。 それは次のような言葉を真に受けないことです。 --- 「*ReactはJavaScriptのフレームワークだから、まずはJavaScriptをマスターしないといけない*」 --- 確かにReactはJavaScriptをベースにしているので、JavaScriptの知識は必須です。 世に出ているReact本や動画教材の9割以上でも、「ある程度のJavaScriptの知識」といったことを前提知識として求めています。 しかし、これからReactを始めようとしているビギナーに一番必要なのは、「ある程度のJavaScriptの知識」ではありません。 --- 新しいことを始めるとき、人はみな不安です。 そのようなビギナーの不安を和(やわ)らげるものは何でしょうか? それは「これなら自分にもできそうだ」、「もしかしたらできるかもしれない」という前向きな気持ちです。 そしてそれを得る一番簡単で確実な方法、それは「小さな成功体験を早く作る」です。 なぜ成功体験が重要なのかは、わざわざ説明をしなくてもいいでしょう。 「自分には無理だろう」と最初からネガティブに感じることを始めるには、たくさんのエネルギーが必要です。 一方、「自分にもできるかも」といった少しでもポジティブな光を感じられることは、自分で進めていけます。 --- ビギナーにはなるべく早く成功体験を味わってもらいましょう。 そうすれば、教える側が手取り足取り指示を出さずとも、勝手に進んでいくようになります。 成功体験は気持ちがいいからです。 「これをもっと味わいたい」という気持ちが、自分で学習を前へ前へと進めていく推進力になります。 そしてこのように自分の中から湧いてきたパワーは、他のどんなもの(例えば「テストがあるから」、「上司に言われたから」といった外部からの力)よりも強く、ある意味で健康的な力です。 では、ビギナーにこの成功体験を早く味わってもらうにはどうすればいいのでしょうか? ここでは、HTML/CSSを知っている人を「ビギナー」として話を進めます。 なお、現在のReact開発のスタンダード、React + Viteについて詳しくは下記ガイドも参考にしてください▼ • 【2026年版】React + Vite完全スタートガイド|初心者向けにすべて解説 ## HTMLの延長でReactは使える Reactのコードの`return`の中は、HTMLと同じように書けます。 CSSを当てる時は、`class`の代わりに`className`と書くだけの違いです。 「新しいことを身につけないとReactは使えない」といった角度からではなく、「あなたがすでに知っていることでReactは使えるよ」というアプローチです。 --- 【 HTML/CSSの延長線上にReactはあり、すでに知っていること(HTML/CSS)を活かせばReactを使える 】 --- こういうことをできるだけ早く教えてあげるのです。 そうすれば多くのビギナーが持っている次のような固定観念、つまり、 --- 「*あれ、今までHTML/CSSとReactの間にはJavaScriptが横たわっていて、それを最初に乗り越えないとReactは使えないと思っていた......*」 --- を溶かしてあげることができます。 そして「もしかして、Reactって意外に簡単かも」と感じる人が大勢出てきます。 これまでReactを教えてきて、私はこういう場面を何度も目にしてきました。 --- 研修の受講生に到達してもらいたいのは、「Reactができる」というレベルです。 「JavaScriptができる」ではありません。 ゴールはReactなのだから、早くReactに触ってもらいましょう。 そうすれば、自分がいま登ろうとしている山が、実はそれほど高いものではないことに早く気付いてくれます。 ## 動くものを作る 既知のこと(HTML/CSS)でReactが少しは使える、という理解と同じくらいビギナーにとって大事なこと。 それは「動くものを作る」です。 Reactを学ぶのはアプリを作るためです。 なので、サイズは小さくていいので、できるだけ早くアプリ制作の一連の流れを、最初から最後まで体験させてあげましょう。 細々とした文法を教えたり、例外事項などにいちいち言及するのは止めます。 こういったことは往々にして、教える側の自己満足や不安感に由来するものです。 ビギナーにとっては不要であるばかりではなく、退屈を生み混乱を招きます。 また「100%の理解をしてから次に進む」という完璧主義の態度も、この段階では不要であることを教えてあげましょう。 分からないことが多少はあっても先へと進み、できるだけ短い時間でアプリを完成してもらいます。 そうすれば達成感を味わえます。 それが次のステップへと進む最大のモチベーションになります。 そしてビギナーといっても盲目ではありません。 「アプリを作れた!だからもうこれでReactはマスターした!」と考える人は、私の経験ではほとんどいません。 --- 「*アプリはとにかく一応作れた。でも自分には理解できていないことや、知らないことがまだたくさんある*」 --- このように大半のビギナーは考えます。 こういう、いわば謙虚な姿勢を持ってもらえたら、研修は成功です。 あとは彼ら彼女らが自分で学習を進めていきます。 自分には足りないものがあることを自覚できたからです。 自分で埋めていく楽しさを覚えたからです。 ## 研修の本当の目的とは? 本記事の最後に、研修の目的とは何かを考えてみましょう。 もしReactの研修なら、もちろん「Reactを使えるようになる」が目的です。 しかし、あらゆる種類の学びというのは、本一冊や研修一本で終わるものではありません。 ずっと続いていくものです。 そして「学ぶ」というのは楽しいことです。 【 昨日はできなかったことが、今日はできている 】 これは人間の根本的な喜びのひとつでしょう。 前に進んでいる感覚を与えてくれるからです。 自分は進歩していると実感させてくれるからです。 --- 「研修」や「講座」というのは、あるスキルや知識をマスターしてもらうことを名目に掲げています。 そしてそれは大事なことです。 しかしそれよりも大事なことは、受講生に何か明るいもの、前向きな気持ち、いわば「希望」といったものを感じてもらうことでしょう。 「自分にもできるかも」という、自分に対する期待と希望の気持ちです。 --- ......心構えは分かった。 では実際に何を、どの順番で教えればいいのか? そこが次の悩みになると思います。 無料の資料を用意しているので、ぜひご利用ください▼ --- # React研修の失敗しない選び方|外注研修の『現場で使えない』を防ぐ3つのポイント URL: https://monotein.com/blog/choosing-react-corporate-lessons 公開日: 2026.4.27 概要: React研修を外注するメリット・デメリットを解説。「時間もコストもかけたのに現場で使えない」を防ぐ、失敗しない選び方の3つのポイントも紹介します。 ## React研修、外注すべきか否か? 「*社内でReactを使える人を育てたい*」 このように考えたとき、多くの企業が一度は悩むのが、研修を内製するか、それとも外注するかです。 内製と外注、それぞれに注意すべきことがあります。 本記事では、React研修を外注するメリット・デメリット、そして失敗しないための選び方を紹介します。 正しい選び方を理解して、「時間もコストもかけたのに現場で使える人材が育たなかった....」という失敗を避けましょう。 ## React研修の外注【メリット】 外注の最大のメリットは、教育の立ち上がりが早いことです。 研修を専門にしているので、すぐに始められます。 一方、内製で行う場合には、教材づくり、進行設計、課題作成、質問対応まで、すべて自前で対応しないといけません。 カリキュラム制作ひとつとっても、Reactはカバーすべき範囲が広いため、設計に時間がかかります。 さらに企業内でReactを人に教えられるレベルにある人は、そもそも自分のプロジェクトですでに忙しいので、「教育にまで手が回らない」ということが普通です。 --- 外部の研修サービスを使うと、これらがすでに揃っています。 設計済みのカリキュラムも最初から使えます。 新卒・中途・異動メンバーといったそれぞれ異なる経験を持った社員のスキルレベルを、スピーディに標準化しやすいのです。 実務に沿ったカリキュラムや、進捗の可視化、質問対応まで含まれている研修であれば、社内の担当者の負担も少なくて済みます。 --- もうひとつ大きいのは、学ぶレベルがそろうことです。 社内教育では、教える人によって説明の仕方も、重視する項目も異なります。 ある人はReactの見た目部分にフォーカスする、別の人はTypeScriptの安全性にこだわる、また別の人は最新のツールの使い方にこだわる。 これでは受講者ごとの差が大きくなります。 外注の研修を使うメリットは、こうした属人性を減らし、チーム内の基準をそろえやすいことです。 ## React研修の外注【デメリット】 私が一番よく見かける失敗は、「社員のスキルレベルに合っていない研修を選んでいる」というものです。 例えば受講者がほぼ未経験で、「ウェブサイトとウェブアプリの違い」といったことすらも分かっていないのに、Reactの実装から始める研修だと受講生は付いていけません。 Reactのコードは、見た目だけならHTMLによく似ているため、最初は簡単そうに感じます。 そして実際、HTML/CSSといった既に知っている知識をベースにしてReactに入門してもらうことは、私の経験からいっても最も効果的です。 (*これを実践した教材が「[はじめてつくるReactアプリ](https://www.amazon.co.jp/dp/B08XWMVX76)」です) しかし、ReactのベースはJavaScript。 JavaScriptの理解が足りないと、「なんとなくコードを書いている」という状態になります。 逆に、現場ですでにReactを使っているチームなのに、React + Viteのセットアップやコンポーネントの作り方だけ教えて終わる研修では、実務に結びつきません。 つまり、React研修の外注で起こりやすい失敗は、質が低いことよりも、レベル設計がずれていることに由来するのです。 --- もうひとつのよく見る失敗は、Reactだけを教えて終わる研修です。 現場で本当に必要なのはReact単体ではありません。 TypeScriptで型を付け、APIとつなぎ、フォームを扱い、チームで読みやすいコードを書くところまで含めて、はじめて実務で使えるようになります。 React研修という名前でも、このあたりが抜けていると、受講後に「結局まだ現場に入れない」という状態になることが少なくありません。 ## React研修を外注するときの選び方(3つのポイント) React研修を選ぶとき、失敗しないためのポイントは3つあります。 ### 1. 受講者のスキルレベルと合っているか 先ほどのデメリットの話と重なりますが、これが最も重要です。 研修の内容ではなく、「誰向けに作られているか」を最初に確認してください。 未経験者が多いのであれば、HTMLやCSSの知識を前提に、JavaScriptの基礎から丁寧にカバーしているカリキュラムが必要です。 すでに開発経験のある社員が対象であれば、TypeScriptとの組み合わせや、APIとの連携、状態管理など、実務に直結する内容が含まれているかを確認しましょう。 ### 2. カリキュラムが古くないか(簡単に見分ける方法) フロントエンド開発は変化の激しい分野です(詳しくはこちらの記事を参照)。 エンジニアでも、技術のキャッチアップに悩んでいる人は多くいます。 しかし誰でも簡単に、React講座のカリキュラムの鮮度を見分ける方法があります。 --- カリキュラムに「create-react-app」というものがあれば要注意です。 create-react-appはReact開発でよく使われていたツールですが、それも2022年ごろまでになります。 今はメンテナンスもされておらず、新規のReact開発で使われることもありません。 現在はcreate-react-appではなくReact + Viteというものが使われます。 詳しくは下記ガイド記事を参考にしてください▼ • 【2026年版】React + Vite完全スタートガイド|初心者向けにすべて解説 研修で使うツールが現場と異なっていると、受講後にギャップが生まれます。 「研修では動いたのに、実際の環境では違う」という状況は、現場にとっても本人にとっても困ります。 カリキュラムの新しさは、フロントエンド研修では特に重要な要素です。 ### 3. ReactだけでなくTypeScriptまでカバーしているか 実際のReact開発では、TypeScriptがほぼセットです。 Reactだけを教えて終わる研修では、受講後に「TypeScriptが分からなくて現場に入れない」という状況が起きやすくなります。 ## よくある質問 ### Q1. 内製と外注、どちらが費用を抑えられますか? 短期的には内製の方が安く見えます。 しかし教材作成・進行設計・質問対応まで含めると、社内担当者の負担は想定より大きくなりがちです。 外注は初期費用がかかりますが、立ち上がりの速さと担当者の負担軽減を考えると、トータルコストで逆転するケースも多くあります。 ### Q2. 受講者のレベルがバラバラでも対応できますか? 研修によります。 選ぶ際は「誰向けに設計されているか」を必ず確認してください。 未経験者とすでに開発経験のある社員を同じカリキュラムで進めると、どちらにとっても合わない内容になります。 ### Q3. 研修の効果はどう測ればいいですか? 受講後に簡単なアプリを一人で作れるかどうかが、最もわかりやすい基準です。 「コードを書ける」ではなく、「アプリを作れる」という明確で具体的な基準にすると、到達度を確認しやすくなります。 monoteinでは、React・TypeScript等フロントエンド開発ツールの企業向け研修を提供しています。 カリキュラムはViteをベースにした現在のスタンダードに沿った内容で設計されており、HTMLやCSSの知識がある方を対象に、TypeScript・Reactスキルを実務レベルまで引き上げます。 詳しくは無料の資料をご利用ください▼ --- # TypeScript導入に失敗する企業がやっていること【原因と対策も解説】 URL: https://monotein.com/blog/typescript-corporate-typical-mistakes 公開日: 2026.4.23 概要: 「導入したのに誰も使いこなせない」「結局JavaScriptに戻した」。TypeScript社内導入でよくある3つの失敗と、その具体的な対策を解説します。 ## TypeScript導入で失敗、というよくある話 「TypeScriptを社内に導入しようとしたけど、うまくいってない....」という話は、実は珍しくありません。 --- • *導入したものの、誰も使いこなせていない* • *エラーが増えて、むしろ開発が遅くなった* • *結局JavaScriptに戻してしまった* --- 私が企業研修をしていてもよく聞く話です。 今回は、TypeScript導入でよくある失敗と、それを避ける方法を具体的に紹介します。 なお、TypeScriptを使った実際の開発方法ロードマップも適宜参考にしてください。 ## そもそもTypeScriptはなぜ難しいのか TypeScriptは「JavaScriptに型を付けた言語」になります。 型を付けることで、コードのミスを事前に発見しやすくなるのです。 大きなプロジェクトや、複数人での開発で特に効果を発揮します。 しかし「*JavaScriptは書けるから、TypeScriptもすぐに書けるだろう*」というのは正しくありません。 型の考え方に慣れるまでに、一定の時間がかかります。 JavaScriptはある程度書けても、TypeScriptでつまずく人は実はとても多いのです。 ここを甘く見ると、導入後にさまざまな問題が起きます。 以下、よくある失敗を見ていきましょう。 対策方法も一緒に紹介します。 ## 失敗1 とりあえず導入 もっとも多い失敗が、TypeScript導入自体をゴールにしてしまうことです。 パッケージをインストールして、設定ファイルを用意して、「TypeScript導入しました」で終わり。 しかしこれでは、実態はJavaScriptのままです。 型定義がほとんどなく、`any`という型を乱用するコードが増えていきます。 (`any`は「どんな型でもOK」という意味で、TypeScriptの恩恵をほぼ無効化します) ### 対策 導入と並行して、チームへの教育を行いましょう。 ツールを入れるだけでなく、使い方を全員が理解しているかをしっかり確認する仕組みが必要です。 ## 失敗2 学習コストを低く見積もっている 「*TypeScriptはJavaScriptの延長だから、すぐ覚えられるはずだ*」 こういう認識を持っている人も実は多くいます。 型の概念、型推論、ジェネリクス、ナローイング。 こういった内容は、TypeScriptに初めて触るエンジニアにとって簡単ではありません。 学習期間を短く見積もると、メンバーが消化しきれないまま実務に入ることになります。 結果として、エラーに悩まされながら開発を行うことになり、TypeScriptへの苦手意識だけが残ります。 ### 対策 学習と実践を並走させる期間を設けてください。 いきなりすべての機能を覚えさせるのではなく、実務でよく使う型の書き方から段階的に習得できるよう、カリキュラムを組みましょう。 ## 失敗3 教えられる人が・・・ 「*TypeScriptを導入したい。けど、社内に詳しい人がいない*」 これもよくあることです。 しかしこの対策が「自分で勉強してください」だと、学習の質がそろいません。 何が正しいのか分からないまま進んでしまい、誤った理解が定着することもあります。 未経験者に最も難しいのは、「何が正しくて、何が誤っているのか」、あるいは「どれがスタンダードで、どれがそうではないのか」の見極めです。 ### 対策 社内に教育担当者を育てるか、外部の研修を活用するか、導入前に決めておくことが重要です。 「なんとかなるだろう」で始めると、あとから立て直すのに余計なコストがかかります。 --- 他にもよくある失敗として、「既存のJavaScriptコードと混在させてしまう」、「型エラーが出るからと設定を緩める」といったこともあります。 ## よくある質問 ### Q1. anyを使うのはなぜ問題なのですか? *any*は「どんな型でも許可する」という意味です。 型チェックが無効になるため、TypeScriptを使っているのにJavaScriptと同じ状態になります。 TypeScript導入の意味がなくなるので、基本的には避けるべきです。 ### Q2. JavaScriptが書ければ、TypeScriptもすぐ書けるようになりますか? 「すぐ」は難しいケースがほとんどです。 型という概念がJavaScriptには無いからです。 ある程度の学習期間を見込んでおく方が、現場の混乱を防げます。 なお、TypeScript自体について詳しくは下記ガイドも参考にしてください▼ • 【2026年版】TypeScript入門完全ガイド|React開発者向けにTSの始め方を全解説 ### Q3. 社内にTypeScriptを教えられる人がいない場合、どうすればいいですか? 外部研修の活用が最も確実な方法です。 独学で進めると理解にばらつきが出て、誤った使い方が定着するリスクがあります。 導入前に教育体制を決めておくことが重要です。 ## 失敗を防ぐために最初に考えておきたいこと TypeScript導入を成功させるには、技術的な準備だけでなく、教育の準備も欠かせません。 特にチェックしておきたいのは次の点です。 --- • メンバーのJavaScript理解度はどの程度か\ • 誰が、どうやって教えるのか\ • 学習にどれくらいの期間を確保できるか\ • 導入後のフォロー体制はあるか --- このあたりを整理しないまま進めると、本記事で紹介した失敗が起きやすくなります。 社内に教育の体制を作るのが難しい場合は、外部の研修サービスを利用するのがもっとも効果的です。 monoteinでは、React・TypeScriptなどのフロントエンドツールを対象とした企業向け研修を提供しています。 「TypeScriptを導入したいが、社内に教えられる人がいない」、「学習コストをかけずにチームのスキルを底上げしたい」といったご要望に対応しています。 詳しくは無料の資料をご利用ください▼ --- # 未経験社員をReactエンジニアへ。失敗しない教育ロードマップと研修のポイント URL: https://monotein.com/blog/corporate-react-engineers-road-map 公開日: 2026.4.19 概要: 未経験社員をReactエンジニアに育てるための5段階ロードマップを紹介。実際の研修経験をもとに、社内研修でReactエンジニアに育てる効果的な方法紹介します。 ## 未経験社員をReactエンジニアにする教育ロードマップ 私は企業向けのフロントエンド研修を行っています(詳しくはこちら)。 そういう中でよく聞くのが、 「*未経験の社員をReactが書ける人材に育てたい。手は一応打ってる*」 という担当者の声です。 しかし社員側では、次のような状態に陥っていることが少なくありません。 --- • 教材を渡されただけで終わり • HTML/CSSまでは進んでも、JavaScriptでつまずいている • Reactの基礎は分かっても戦力化までは届いていない --- これは本人の能力の問題というより、むしろ教え方の順番に原因があることがほとんどです。 そこで今回は、未経験社員をReactエンジニアに育てるときの効果的な教育のステップを、できるだけシンプルに紹介します。 ## 【なぜ失敗する?】React企業研修でつまずく3つの原因 結論から先に言うと、最大の原因はJavaScriptの基礎不足です。 ReactはJavaScriptの上にある技術。 基礎部分のJavaScriptの基本があいまいな状態でReactを使っていると、「なんとなく書いている」という状態から抜け出せません。 そしていつまでも「Reactを使える」という自信を得られないのです。 私が企業研修で見かけるReactに苦手意識を持っている人は、だいたい次のような経緯を辿っています。 --- HTML/CSSは一応分かる\ ▼\ Reactの見た目の書き方も最初は分かる\ ▼\ しかしイベント処理やフォームの実装は、コピペでしか対応しかできない --- この原因はJavaScriptの基礎不足です。 問題の核心は、「Reactが難しい」というより、Reactに入るまでの準備段階にあります。 詳しくは下記記事に目を通してください▼ ## 教育ロードマップは5段階で考える 未経験社員をReactエンジニアに育てるときは、次の5段階で考えるとスムーズです。 ### 1. HTML/CSSの延長でReactも使えることを知る 最初の段階で何より大切なことは、「小さな成功体験を早めに作ってもらう」です。 「すでに知っているHTML/CSSの延長線上でReactも使える」ということを分かってもらいましょう。 実際、Reactの`return`の中はHTML/CSSの知識で書けてしまいます。 厳密にはJSXというもので、HTML/CSS以上のことができますが、それは次のステップで学べば十分です。 初心者にとって大切なことは、「自分にもできそうだ」という前向きな気持ちです。 そしてそういう気持ちを得るには、「小さな成功体験」を早めに作ってもらうことが近道です。 HTML/CSSの延長でReactも使えることの重要性について、下記記事も参考にしてください▼ ### 2. JavaScriptの考え方を学ぶ 次に必要なのがJavaScriptです。 JavaScriptでつまずく人が多いのは、HTML/CSSまでの勉強とは頭の使い方が変わるからです。 見た目を作るだけでなく、「条件によって何をするか」、「クリックされたらどう動くか」という、プログラミング的な思考を養う必要が出てきます。 とはいえ、この段階では全部を網羅する必要はありません。 次の項目にフォーカスすれば十分です。 --- • 変数\ • 配列とオブジェクト\ • if文\ • イベント処理\ • mapなどの基本操作\ • 関数 --- 特に重要なのは関数です。 Reactを使う上で「JavaScriptのすべて」は必要ありません。 Reactでよく使うJavaScriptの分野に集中しましょう。 ### 3. Reactで「部品として画面を組み立てる」ことを覚える 次はReactの重要コンセプト、「コンポーネント」を学びましょう。 Reactでは、複数のパーツを組み合わせてページを作ります。 HTML開発時のように「ページ単位」ではありません。 画面を部品ごとに分けて考えられるようになることが重要です。 例えば、 • ヘッダー\ • ボタン\ • カード\ • 一覧\ • フォーム こういったものをコンポーネントとして分けて作れるようになると、Reactらしい考え方が少しずつ身についてきます。 ### 4. TypeScriptとAPI連携で実務に近い開発へ進む Reactでは必ずデータを扱います。 下記のような場面です。 • フォーム処理\ • APIからデータを取る\ • 型をつける\ • エラー処理 ここで重要なのは、この時点でTypeScriptも導入することです。 2026年のReact開発ではTypeScriptがデフォルトです。 未経験者にTypeScriptを教えるときは、最初から細かい型理論に入る必要はありません。 まずは「型があるとバグが減る」、「チーム開発で読みやすくなる」という実感を持ってもらう方が大切です。 React + TypeScript + API連携まで進むと、実務に近いスキルが身につきます。 ### 5. React + TypeScriptで「完成できる」レベルへ 最後のステップでは、TypeScriptを加えて実際のアプリを完成させることを目指します。 具体的には次のようなことです。 --- • TypeScriptの基本的な型定義\ • コンポーネントへの型の適用\ • イベント型の定義\ • ジェネリック型 --- TypeScriptを加えることで、コードのミスを事前に発見しやすくなります。 また、型が明示されることで、他のメンバーがコードを読んだときに意図が伝わりやすくなります。 つまりこのステップまで来ると、個人のスキルが上がるだけでなく、チーム全体のコード品質と開発速度が自然にそろっていくのです。 「コードの書き方がバラバラ」、「レビューのコストが高い」という課題は多くの現場で見られます。 しかしこれは、メンバー全員が同じ基準でReact + TypeScriptを書けるようになることで、徐々に解消されていきます。 ## よくある質問 ### Q1. 未経験者は本当にReactを習得できますか? できます。ただし、順番が重要です。 HTML/CSSの基礎がある人なら、適切な順番で教えることで実務レベルまで到達可能です。 つまずく多くのケースは、能力ではなく「教える順番」に原因があります。 なお、現在のReact開発のスタンダード、React + Viteについて詳しくは下記ガイドも参考にしてください▼ • 【2026年版】React + Vite完全スタートガイド|初心者向けにすべて解説 ### Q2. TypeScriptはいつから始めるべきですか? Reactの基礎が身についたタイミングがベストです。 最初から導入しても型の概念で混乱しやすく、逆に遅すぎると後から修正コストがかかります。 「Reactで簡単なアプリが作れるようになった」という段階で導入すると、TypeScriptのメリットを実感しながら学べます。 ## 「育てているつもりが育っていない」ときに見直したいこと 未経験社員をReactエンジニアに育てるロードマップは、次の順番が基本です。 --- 小さな成功体験\ ▼\ JavaScript基礎\ ▼\ React基礎\ ▼\ React実践\ ▼\ TypeScript導入\ ▼\ アプリ完成 --- React教育で大切なことは、難しい技術を一気に詰め込むことではなく、未経験者が途中で止まらず、最終的に現場で使えるところまで届く道筋を作ることです。 もし社内で、 • 新卒・未経験社員をReactで育てたい\ • 中途採用者のオンボーディングを早めたい\ • チーム全体のコード品質を底上げしたい といった課題がある場合、教える順番を整理すると成果に結びつきやすくなります。 私が提供しているReact・TypeScript企業研修は、JavaScriptの基礎からReact・TypeScriptを使ったアプリ開発まで、4週間で体系的に習得できるプログラムです。 動画とテキストを組み合わせた学習環境に加え、質問無制限のチャットサポートと管理者向けの進捗レポートも含まれています。 「どこから手をつければいいかわからない」という段階からでも一緒に整理できます。 新卒・未経験社員のReact教育に悩んでいるご担当者様には、無料の資料をご用意してあります▼ --- # 【Next.js × TypeScript】3分で使えるようになる入門ガイド(2026年版) URL: https://monotein.com/blog/nextjs-typescript-how-to-use 公開日: 2026.4.17 更新日: 2026.6.13 概要: 2026年のウェブ開発で最も使われているNext.js。その導入手順をビギナー向けにわかりやすく解説します。インストールからVercelやその他プラットフォームへの公開方法まで網羅しています。 ## ウェブ開発で一番人気のNext.js Next.jsはReactをベースにしたフレームワークです。 React単体では使うのが難しいさまざまな機能が入っています。 世界的に非常に人気のツールで、近年のウェブアプリ開発で最も使われているのがこのNext.jsです。 本記事ではそのインストール方法と公開方法を時短で紹介します。 使う言語はTypeScriptです。 本記事では解説していないNext.jsの全体像を知りたい方は、下記ガイドを参考にしてください▼
## Next.js(+ TypeScript)のインストール方法 ターミナル上で、Next.jsをインストールしたいフォルダに移動します。 ここでは「ダウンロード」フォルダにいるものとします。 そして次のコマンドをターミナルに打ち、「Enter」キーで実行してください。 ```shell npx create-next-app ``` ここで次のような表示が出ることがありますが、特に問題ではないので、「Enter」キーを押して次に進んでください。 ```shell Need to install the following packages: create-next-app@16.2.4 Ok to proceed? (y) ``` これ以降、質問がいくつか出てくるので回答していきましょう。 最初はこのアプリの名前で、これがフォルダの名前に使われます。 ```shell ? What is your project named? › ``` 名前は好きなものが使えます。 ここでは「first-nextjs-app」と書きましょう。 ```shell ? What is your project named? › first-nextjs-app ``` 「Enter」キーを押すと次の質問が出ます。Next.jsの初期設定に関する質問です。 ```shell ? Would you like to use the recommended Next.js defaults? › - Use arrow-keys. Return to submit. Yes, use recommended defaults No, reuse previous settings ❯ No, customize settings Choose your own preferences ``` 選択肢は3つあります。 【1】\ TypeScriptやTailwind CSSなども一緒にインストールする(use recommended defaults) 【2】\ 前回の設定を再利用する(reuse previous settings) 【3】\ 自分で決める(customize settings) ここではひとつひとつ自分で決めていきたいので、キーボードの矢印キーを使って3つ目の「No, customize settings」を選び、「Enter」キーで実行してください。 次の質問が出ます。Next.jsの具体的な初期設定の質問です。 ```shell ? Would you like to use TypeScript? › No / Yes ? Which linter would you like to use? › - Use arrow-keys. Return to submit. ? Would you like to use React Compiler? › No / Yes ? Would you like to use Tailwind CSS? › No / Yes ? Would you like to use `src/` directory? › No / Yes ? Would you like to use App Router? (recommended) › No / Yes ? Would you like to customize the default import alias (@/*)? › No / Yes ? Would you like to include AGENTS.md to guide coding agents to write up-to-date Next.js code? › No / Yes ``` 「Would you like to〜」とは「Do you want〜」の丁寧な聞き方です。 なので、これらの質問は「TypeScriptやTailwind CSSなども一緒にインストールしますか?」と聞いているのだと分かります。 ここでは最小限の設定で進めたいので、各質問には次のように回答してください。 ```shell ✔ Would you like to use TypeScript? → 「Yes」 ✔ Which linter would you like to use? → 「None」 ✔ Would you like to use React Compiler? → 「Yes」 ✔ Would you like to use Tailwind CSS? → 「No」 ✔ Would you like your code inside a `src/` directory? → 「No」 ✔ Would you like to use App Router? (recommended) → 「Yes」 ✔ Would you like to customize the import alias (`@/*` by default)? → 「No」 ✔ Would you like to include AGENTS.md to guide coding agents to write up-to-date Next.js code? → 「No」 ``` いくつかの質問について少し補足します。 この中で一番重要な質問は「App Router」に関するものです。 かならず「Yes」を選択してください。 これによって、Next.jsバージョン13以降でデフォルトになっている「Appフォルダ」が利用できます。 「TypeScript」に関する質問は必ず「Yes」を選びましょう。 「No」にするとJavaScript版がインストールされます。 React CompilerはReactのコードを最適化するツールで、これはNext.jsバージョン16から利用できるようになっています。 本記事でインストールしてもしなくても構いませんが、今後はReact Compilerの利用が標準になっていくと考えられるので、ここでは「Yes」を選択しています。 また、linterの質問の選択肢には「Biome」と「ESLint」が出てきます。 これらはコードの品質を高めるものです。 本記事では利用しないので「None」を選択しましたが、特にBiomeは近年注目を集めています。下記記事で使い方を確認しておきましょう。
ESLintは下記記事を参考にしてください。
インストールが完了したら、ダウンロードフォルダを開いてください。 次のように、新しいフォルダができているのを確認できます。
![dw-folder.jpg](../../images/singleBlogPageImages/blogArticleImages/blog242/dw-folder.jpg)
これをVS Codeで開きましょう(VS Codeにフォルダを直接ドラッグ&ドロップすれば開けます)。 中身は次のようになっています。 ![image](../../images/singleBlogPageImages/blogArticleImages/blog242/pic-1.jpg) この中には必要のないフォルダやコードがあるので、まずは整理をしていきましょう。 ## Next.jsのクリーンアップ まっさらな状態で始めたいので、不要なものを削除していきます。 `app`フォルダの中にある`page.module.css`を削除してください。 次は`app`フォルダの`globals.css`ファイルを開き、中に書かれているコードをすべて消しましょう。 次に`layout.tsx`を開き、中のコードをすべて消し、次のコードを書いてください。 ```js // app/layout.tsx import "./globals.css" const RootLayout = ({ children }: { children: React.ReactNode }) => { return ( {children} ) } export default RootLayout ``` 次は`page.tsx`を開き、ここでも同様に、書かれているコードをすべて消しましょう。 そして次のコードを書いてください。 ```js // app/page.tsx const Home = () => { return (

こんにちは

) } export default Home ``` VS Code上部メニューバーの「File」→「Save」、もしくは「Command」+「S」で、各ファイルに加えた変更を保存しましょう。 これでクリーンアップが完了して、Next.js開発を始める地ならしができました。 次はNext.jsを起動させましょう。 ターミナルに`npm run dev`を打ち、「Enter」で実行すると、次のように表示されます。
![image](../../images/singleBlogPageImages/blogArticleImages/blog242/pic-2.jpg)
指定されている`http://localhost:3000`を開いてみましょう。 次のように表示されます。
![image](../../images/singleBlogPageImages/blogArticleImages/blog242/pic-3.jpg)
VS Codeに戻り、`page.tsx`内の`

`タグの文字列を、「さようなら」に変えて保存してみましょう。 ブラウザを見ると、表示も変わっています。
![image](../../images/singleBlogPageImages/blogArticleImages/blog242/pic-4.jpg)
つまり`page.tsx`の`return`横のカッコ`( )`内は、HTMLと同じ要領で編集できることがわかります。 これがNext.jsの使い方の初歩の初歩です。 ## layout.tsxの役割 `layout.tsx`はNext.jsが用意している特殊なファイルです。 アプリ全体で適用したいスタイルやコンポーネントなどをここに書きます。 `layout.tsx`という名前のファイルに書いたコードは、次図のように`app`フォルダ内に作ったすべての`page.tsx`を包み込むように機能するのです。
![image](../../images/singleBlogPageImages/blogArticleImages/blog242/layout-tsx.png)
## Next.jsの公開方法 Next.jsはVercelで公開するのが一般的です。 VercelはNext.jsの開発元が運営しているプラットフォームなので、Next.jsのさまざまな機能を制約なしに実行できるからです。 Vercelでの公開には、コードをGitで管理していることが前提なので本記事では触れませんが、「Next.js + Vercel」が一般的な運用だと知っておきましょう。 Vercel以外で公開するには、buildとexportという作業を、あらかじめ手元のコンピューター内で行う必要があります。 exportを行う下記コードを`next.config.ts`に追加しましょう。 ```js // next.config.ts import type { NextConfig } from "next"; const nextConfig: NextConfig = { /* config options here */ output: "export", // 追加 }; export default nextConfig; ``` 変更を保存しましょう。 ターミナル上で「control」を押しながら「C」を押して、Next.jsを停止させてください。 そしてbuildを行う下記コマンドを実行しましょう。 ```shell npm run build ``` `out`という新しいフォルダが生成されます。 この`out`フォルダをNetlifyなどにアップロードすれば、アプリをオンラインで公開可能です。 なお、Vercel以外のプラットフォームで公開するときの注意点は、次の記事を参考にしてください▼
## ここまで終えて、次のステップ Next.js + TypeScriptのセットアップと公開方法までが完了しました。 これで「Next.js × TypeScript開発のスタートライン」に立てたことになります。 次に学ぶべきことは下記ガイドにまとめました。 TypeScriptを難しく感じる人が多い理由、乗り越え方、使いこなすための簡単な方法など、ビギナーが知っておきたい多くのことをカバーしています▼
Next.jsの中心機能であるReactサーバーコンポーネント(RSC)やReact 19の新機能まで体系的に理解したい人はこちらです▼
## よくある質問 ### Q1. Next.jsとReact + Vite、選ぶ基準を教えて 現在のReact開発のツールは「Next.js」もしくは「React + Vite」の二択です。 この大まかな使い分けは次のようになります。 --- • 社内用アプリや管理画面のダッシュボードなど → React + Vite • SEOが重要 → Next.js • 規模が大きく複雑な機能が必要 → Next.js • 軽量に運用したい → React + Vite --- より詳しくはこちらの記事を参考にしてください▼
React + Viteの使い方は下記記事を参考にしてください▼
### Q2. npm run dev以外のコマンドを教えて Next.jsは、手元のパソコンでの開発時と、オンラインでの公開時の挙動が異なる場合があります。 開発環境と本番環境での動きに違いが発生するのは問題です。 そのため、本番環境の挙動もテストできるコマンドが用意されています。 先ほど紹介したビルドコマンド`npm run build`完了後に、次のコマンドを実行しましょう。 ```shell npm run start ``` これで本番環境での動きをチェックできます。 まとめたものが次表です。 | **開発環境での挙動** | **本番環境での挙動** | |:----:| :----:| |npm run dev| npm run build → npm run start | ### Q3. Reactそのものを難しく感じます。どうすればいいですか? Next.jsは便利なフレームワークですが、ベースはReactです。 Next.jsで難しさを感じる場合、その原因がReact本体の理解不足にあるケースも少なくありません。 Reactを難しく感じる理由と乗り越え方は、こちらのガイドにまとめています▼
### Q4. フロントエンドの学習はどのように進めていけばいいですか? Next.jsのセットアップができても、フロントエンド開発者として就職をしたり、フリーランス案件を獲得するにはまだ不十分です。 React、TypeScriptの基礎を含めた全体の学習ステップを把握しておく必要があります。 学習全体の流れを知りたい方は、こちらのロードマップを参考にしてください▼
### Q5. Next.js × TypeScriptのセットアップができたあと、何を学べばいいですか? ここまでで、Next.js × TypeScriptを「動かす」ところまではできました。 しかしApp Routerの仕組みやReactサーバーコンポーネントなど、Next.js特有の概念はまだ何も触れていません。 そして、それらの概念を支えているのはReactとTypeScriptの理解です。 「なぜこのコードで動くのか」「なぜこのpropsの型が必要なのか」といった疑問は、React × TypeScriptを体系的に学ぶことで解消していきます。 詳しくは下記記事をご覧ください▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/nextjs-typescript-how-to-use) --- # Next.js × TypeScriptの新刊が出ました URL: https://monotein.com/blog/new-book-release-nextjs-supabase-typescript 公開日: 2026.4.15 概要: 三好アキ著の好評既刊書のTypeScript増補版。Next.js・Supabase・JWTを使ったフルスタックアプリをJavaScriptで作り、その後TypeScriptへ書き換えます。初めて本格的なアプリ開発にトライする方に最適。 ## ビギナー向けNext.js × TypeScript教材 ビギナー向けのNext.js教材として好評の「[Next.jsでつくるフルスタックアプリ with Supabase(前編・後編)](https://www.amazon.co.jp/dp/B0FYFXVMSF)」。 今回、これにTypeScriptへ書き換える章を追加した増補版をリリースしました。 Next.js × TypeScriptでつくるフルスタックアプリ with Supabase

Next.js × TypeScriptでつくるフルスタックアプリ with Supabase

—2026年最新のアプリ開発スキルが身につく1冊

Amazon Amazonで見る
前編(バックエンド開発)・後編(フロントエンド開発)の2冊構成です。 最新のNext.jsバージョン16を使っています。 「コードを書き、アプリを作りながらNext.jsの使い方を紹介していく」という流れは私の他の本と同じです。 本書では、JavaScriptで開発したあと、最後にTypeScriptへと書き換える構成にしてあります。 TypeScriptの採用が広がる中で「既存のJavaScriptをTypeScriptに書き換える」という場面も増えており、これに対応するスキルを身につけるためです。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/new-book-release-nextjs-supabase-typescript) ## 主な使用ツール • Next.jsバージョン16 • Reactバージョン19 • TypeScript、Supabase、Jose(JWT)など ## 対象者 「HTML/CSSの経験はあるけれど本格的なウェブアプリ開発にはじめて挑戦」という方です。 Next.js、React、TypeScript、JavaScriptの深い知識は必要ありません。 ビギナーの方でも無理なく読み進められる難易度です。 2026年最新のフロントエンド開発スキルを身につけたい方は、ぜひ手に取ってみてください。 Next.js × TypeScriptでつくるフルスタックアプリ with Supabase

Next.js × TypeScriptでつくるフルスタックアプリ with Supabase

—2026年最新のアプリ開発スキルが身につく1冊

Amazon Amazonで見る
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/new-book-release-nextjs-supabase-typescript) --- # Biomeとは?ESLint・Prettierとの違い、使い方を2分で解説 URL: https://monotein.com/blog/what-is-biome 公開日: 2026.4.12 更新日: 2026.4.24 概要: Biomeとは、PrettierとESLintの役割をひとつにまとめたツールです。コードの整形とルール違反の検出を、1つのツールで完結できます。Biome.jsの導入方法と設定ファイルの書き方をビギナー向けにわかりやすく解説します。 ## Biomeの簡単な紹介 コードの整形やエラーチェックには、PrettierとESLintが広く使われています。 --- • Prettier\ → コードの「見た目」を整える(使い方はこちら) • ESLint\ → コードの「ルール違反やバグ」を検出する(使い方はこちら) --- どちらも便利なツールですが、それぞれインストールして別々に設定する必要があり、少し手間がかかりました。 そこで近年注目を集めるのがBiome(バイオーム)です。 いわば「Prettier + ESLint = Biome」というものになります。 Biomeは、Next.jsのデフォルトツールとして採用されるほど人気です。 このNext.jsの使い方をビギナー向けに解説した記事があります▼
## Biomeで何が変わる? PrettierとESLintを使う場合、次のことが必要です。 • 2つの拡張機能をVS Codeに入れる\ • 2つのパッケージをプロジェクトにインストールする\ • `settings.json`、`.prettierrc`、`eslint.config.js`など複数のファイルで設定する --- Biomeを使うと次のようになります。 • 1つの拡張機能をVS Codeに入れる\ • 1つのパッケージをプロジェクトにインストールする\ • `biome.json`という1つのファイルで設定する 設定の手間が大幅に減るのです。 ![image](../../images/commonImg/first-study-guide.png) ● [monotein.com/present](/present?magnet=first-study-guide&from=what-is-biome) ## Biomeはなぜ速い? Biomeには「速い」という特徴もあります。 JavaScriptで書かれたPrettierやESLintと比べ、Rustで書かれたBiomeは実行スピードが高速です。 大きなプロジェクトになるほど、この差が体感しやすくなります。 ## Biomeの使い方 流れは次のようになります。 Biome本体\ ▼\ Biome設定ファイル\ ▼\ VS Codeのエクステンション\ ▼\ Biomeを整形ツールとして設定 --- まずBiome本体のパッケージをインストールします ```shell npm install --save-dev @biomejs/biome ``` 次はBiomeの設定ファイルです。 下記コマンドで設定ファイルを自動生成できます。 ``` npx @biomejs/biome init ``` ルートに`biome.json`が作られ、デフォルトで中身は次のようになっています(記事執筆時点)。 ```json // biome.json { "$schema": "https://biomejs.dev/schemas/2.4.12/schema.json", "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, "files": { "includes": ["**", "!!**/dist"] }, "formatter": { "enabled": true, "indentStyle": "space", "indentWidth": 4 }, "linter": { "enabled": true, "rules": { "recommended": true } }, "javascript": { "formatter": { "quoteStyle": "double" } }, "assist": { "enabled": true, "actions": { "source": { "organizeImports": "on" } } } } ``` 色々と書いてありますが、ポイントだけを紹介します。 --- • `"linter"` → ESLintに相当する設定\ • `"formatter"` → Prettierに相当する設定\ • `"organizeImports"` → importの順番を自動で整理し、未使用のものは削除する機能 --- 以上、Biome本体と設定ファイルでBiomeは利用可能です。 ターミナルからBiomeを実行します。 しかしそれだと、毎回コマンドを書く手間がかかるため、VS Codeのエクステンションを利用して、リアルタイムでBiomeを実行するのが一般的です。 なので次は、VS Codeにエクステンションを追加しましょう。 下記URLからVS Codeにインストールしてください。 [Biomeリンク](https://marketplace.visualstudio.com/items?itemName=biomejs.biome) 最後に、Biomeをコード整形ツールとしてVS Code上に設定します。 ルートに`.vscode/settings.json`を作り、次のように書きましょう。 ```json { "editor.defaultFormatter": "biomejs.biome", "editor.formatOnSave": true } ``` これによって、BiomeとVS Codeのエクステンションが結びつき、リアルタイムでBiomeが実行されます。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/what-is-biome) ## PrettierやESLintから移行する場合 すでにPrettierやESLintを使っているプロジェクトにBiomeを導入する場合、次のコマンドで設定を自動変換できます。 ```shell npx @biomejs/biome migrate eslint --write npx @biomejs/biome migrate prettier --write ``` 既存の設定を読み取って、`biome.json`上に書き換えてくれます。 完全に移行できないルールもあるので、移行後はよく確認をするようにしましょう。 ## よくある質問 ### Q1. BiomeはPrettierやESLintの代替になる? ほとんどのケースでは代替になります。 ただし、ESLintはエコシステムが非常に充実しています。 特定のフレームワークや用途に特化したルールが必要な場合、ESLintの方が適切なこともあるでしょう。 「複雑なロジックチェックはESLint、基本的な整形と高速化はBiome」と分けているケースもあります。 しかし個人開発やビギナーの学習用途であれば、Biome1つで十分対応できます。 ### Q2. Biomeはどんなファイルに対応している? Biomeは、フロントエンド開発で使われるほとんどのファイル形式に対応しています。 例えば下記のファイルです。 • JavaScript(.js)\ • TypeScript(.ts)\ • JSX/TSX\ • JSON\ • CSS\ • HTML\ • Markdown ReactやTypeScriptを使う開発であれば、ほとんどのファイルをカバーできると考えて大丈夫です。 ### Q3. Biomeは小さなプロジェクトでも使う意味がある? あります。 Biomeは設定がシンプルなので、小さなプロジェクトでもすぐに使い始められます。 特にこれからPrettierやESLintを初めて導入する場合は、最初からBiomeを選ぶことで設定の手間を減らせます。 ### Q4. Biomeは将来的に主流になる? Biomeは近年急速に注目を集めているツールですが、現在まだ発展途上の部分もあります。 その一方でESLintは長年使われてきた実績があり、豊富なプラグインが強みです。 そのためすぐに完全に置き換わることはないですが、Biomeは設定がシンプルで機能がまとまっているため、新しいプロジェクトでは採用される機会は増えています。 これから覚えておくとよいツールの1つと言えるでしょう。 Biomeの設定が終わったら、React + Viteの開発環境と学習の流れをこちらのガイドで確認しておきましょう▼
![image](../../images/commonImg/first-study-guide.png) ● [monotein.com/present](/present?magnet=first-study-guide&from=what-is-biome) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/what-is-biome) --- # ESLintとは?Biomeとの違い・使い方を初心者向けに解説 URL: https://monotein.com/blog/what-is-eslint 公開日: 2026.4.11 概要: ESLintとは、JavaScriptやTypeScriptのコードにある問題を自動で検出してくれるツールです。VS Code拡張機能を使った導入方法から、設定ファイルの書き方まで、ビギナー向けにわかりやすく解説します。React + Viteにも使われています。 ## ESLintが教えてくれること ESLintは、コードの「ルール違反」や「潜在的なバグ」を自動で検出するツールです。 具体的には次のようなことを検出してくれます。 • 定義したのに使っていない変数\ • セミコロンの有無などのルール統一\ • Reactのフックの使い方の誤り\ • 到達しないコード(実行されないコード)の検出 コードを書いた瞬間に教えてくれるので、その場ですぐ修正できます。 ![image](../../images/commonImg/first-study-guide.png) ● [monotein.com/present](/present?magnet=first-study-guide&from=what-is-eslint) ## ESLintとPrettierとの違い ESLintと似たものにPrettierがあります。 違いを整理しておきましょう。 --- • Prettier\ → コードの「見た目」を整える(インデント・改行など) • ESLint\ → コードの「ルール違反やバグ」を検出する --- Prettierは見た目の問題、ESLintは中身の問題を扱います。 役割が違うので、実際の開発では両方を使うことが一般的です。 ## ESLintの働きを今すぐ確認する(ブラウザ上) ESLintの機能を今すぐ確認したい場合は、ESLint Playgroundを試してみましょう。 https://eslint.org/play ブラウザ上でコードを貼り付けると、ESLintがどのように問題を検出するかをすぐに試せます。 ## ESLintの使い方(ミニマム) ESLintを使うには、いくつか準備するものがあります。 ここで混乱するビギナーが多いので、少し詳しく見ていきましょう。 --- 必ず必要なのはESLint本体です。 これは次のコマンドでプロジェクトに追加します。 ```shell npm install --save-dev eslint ``` (`--save-dev`とは、開発時にのみ必要なパッケージである`devDependencies`への保存を指定するものです。) ESLint本体とともに設定ファイルも必要です。 これは`eslint.config.js`という名前で、プロジェクトのルートに作ってください(以前は`.eslintrc`という設定ファイルでしたが現在は非推奨です)。 `eslint.config.js`には次のような設定を書きます(下記はVite + Reactプロジェクトでよく使われる設定例です)。 ```js // eslint.config.js import js from '@eslint/js' import globals from 'globals' import reactHooks from 'eslint-plugin-react-hooks' import reactRefresh from 'eslint-plugin-react-refresh' import { defineConfig, globalIgnores } from 'eslint/config' export default defineConfig([ globalIgnores(['dist']), { files: ['**/*.{js,jsx}'], extends: [ js.configs.recommended, reactHooks.configs.flat.recommended, reactRefresh.configs.vite, ], languageOptions: { ecmaVersion: 2020, globals: globals.browser, parserOptions: { ecmaVersion: 'latest', ecmaFeatures: { jsx: true }, sourceType: 'module', }, }, rules: { 'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }], }, }, ]) ``` ESLint本体と`eslint.config.js`が準備できたら、ターミナルで次のコマンドを実行しましょう。 ```shell npx eslint . ``` プロジェクト全体がチェックされ、問題があればターミナルに次のように表示されます。 ```shell src/main.js 1:12 error Missing semicolon semi 2:12 error Missing semicolon semi ✖ 2 problems (2 errors, 0 warnings) ``` `npx eslint .`コマンドではこのように問題が表示されるだけですが、自動修正まで行いたい場合は次のコマンドを使いましょう。 ```shell npx eslint . --fix ``` なお、`package.json`に次のように設定されている場合は、`npm run lint`コマンドが`npx eslint .`と同じ働きをします。 ```js // package.json { "scripts": { "lint": "eslint ." } } ``` また、ESLintでチェック対象の範囲も設定可能です。 `eslint .`ではプロジェクト全体、`eslint src`と書けば`src`フォルダがチェックされます。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/what-is-eslint) ## ESLintの使い方(おすすめ) ここまで、`npm install eslint`でESLint本体を用意、`eslint.config.js`で設定ファイルを用意、というミニマムな使い方を見てきました。 これでも十分に動きますが、チェック時には毎回コマンドを実行する手間がかかります。 コードを書いている時にリアルタイムで教えてくれたら便利です。 そのため一般的には、VS Codeのエクステンションも使います。 --- 下記URLを開き、VS Codeにインストールしましょう。 [ESLintリンク](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) `eslint.config.js`内の`rules`を見てください。 `"error"`としてあるものは赤い波線、`"warn"`としてあるものは黄色い波線(警告扱い)で表示されます。 (拡張機能を入れた後にESLintが動かない場合は、VS Codeを一度再起動してみてください) --- ここまでのことをまとめると次のようになります。 | 項目 | 役割 | 必要度 | | ------------------------------ | -------------------------- | ----------- | | ESLint本体(`npm install eslint`) | コードを解析してチェックを実行するツール本体 | 必須 | | 設定ファイル(`eslint.config.js`) | どのルールでチェックするかを定義する | 必須 | | VS Codeのエクステンション | エディタ上でリアルタイムに結果を表示する | 任意 | ## よくある質問 ### Q1. PrettierとESLintは両方入れないといけない? 必須ではありませんが、両方入れるケースは少なくありません。 Prettierは「見た目」、ESLintは「コードの問題」が担当なので、役割が違います。 VS Codeの拡張機能を2つインストールするだけなので、手間もほとんどかかりません。 Prettierについては下記記事を参考にしてください▼
また近年は、ESLintとPrettier両方の働きをするBiome(バイオーム)が人気です。 下記の記事で紹介しているので参考にしてください▼
### Q2. Viteで作ったプロジェクトにESLintが最初から入っているなら、エクステンションは不要? VS Codeにエクステンションが入っていれば、コードの赤線や黄線が表示されるので、ミスにすぐ気が付けます。 エクステンションが無い場合、チェックのために`npx eslint .`コマンドを実行する必要があり、手間がかかります。 なお実際にESLintを使うReact + Vite開発、Next.js開発は下記記事を参考にしてください。 ▼ React + Vite開発の始め方(JavaScript)
▼ React + Vite開発の始め方(TypeScript)
▼ Next.js開発の始め方(TypeScript)
### Q3. 波線が表示されたコードは、必ず直さないといけない? ルールの種類によります。 赤い波線("error")は、そのままにするとビルドが止まる場合があるので修正が必要です。 黄色い波線("warn")は「警告」なので、動作はしますが修正することが推奨されています。 どうしても警告を消したい場合は、そのルール自体をオフにすることもできます。次に紹介します。 ### Q4. ESLintのエラーを一時的に無視する方法はある? 無視したい行の直前に次のコメントを書くと、その行だけESLintのチェックをスキップできます。 ```js // eslint-disable-next-line const x = 1; ``` 特定のルールだけを無視したい場合は、ルール名を指定します。 ```js // eslint-disable-next-line no-unused-vars const x = 1; ``` 多用するとESLintを入れている意味が薄れるので、本当に必要な時だけ使うようにしましょう。 ESLintの設定が終わったら、React + Viteの全体的な開発フローを確認しておきましょう▼
![image](../../images/commonImg/first-study-guide.png) ● [monotein.com/present](/present?magnet=first-study-guide&from=what-is-eslint) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/what-is-eslint) --- # Prettierとは?インストールから設定、使い方まで初心者向けに全解説 URL: https://monotein.com/blog/what-is-prettier 公開日: 2026.4.10 概要: Prettierとは、コードの見た目を自動で整えてくれるツールです。インデント・改行・セミコロンなどを毎回手動で直す必要がなくなります。VS Code拡張機能を使った一番かんたんな導入方法を、ビギナー向けにわかりやすく解説します。 ## Prettierが自動で整えてくれるもの Prettierはコードの「見た目」を整えてくれるツールです。 次のようなものを自動で統一してくれます。 • インデント(スペースの量)\ • 改行の位置\ • セミコロン `;` の有無\ • クォートの種類(`'`か`"`か)\ • 1 行の長さ\ • カッコの位置 例えば次のようなコードを書いたとします。 ```js const x = { a: 1, b: 2 } ``` Prettierを使うと次のようになります。 ```js const x = { a: 1, b: 2 } ``` スペースが入り読みやすくなりました。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/what-is-prettier) ## PrettierとESLintの違い Prettier と似たものにESLintがあります。 違いを整理しておきましょう。 --- • ESLint\ → コードの「ルール違反やバグ」を検出する • Prettier\ → コードの「見た目」を整える(インデント・改行など) --- ESLintは中身の問題、Prettierは見た目の問題を扱います。 役割が違うので、実際の開発では両方を使うことが一般的です。 ## 使い方は2つ Prettierの使い方は大きく2つあります。 ### 【1】VS Codeのエクステンションを使う方法(おすすめ) VS Codeの拡張機能(エクステンション)で「Prettier」と検索して、インストールするだけです。 設定も最小限で済み、ビギナーにはこの方法がおすすめなので、後ほど導入ステップを紹介します。 ### 【2】npmでインストールする方法 プロジェクト単位でPrettierを追加する方法もあります。 次のコマンドでインストールします ```shell npm install --save-dev prettier ``` チーム開発など、全員の書き方を統一したいときに使われます。 ## Prettierの設定方法(VS Codeにインストール) ビギナーのうちはVS Codeのエクステンションが便利なので、これから設定方法を説明します。 --- 【1】エクステンションをインストール 下記URLを開き、VS Codeにインストールしましょう。 [Prettierリンク](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) --- 【2】設定ファイルを作る プロジェクトフォルダの最上位(ルート)に`.vscode`というフォルダを作りましょう。 その中に`settings.json`というファイルを作ります。 ここには次の内容を書いて保存します。 ```json { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true } ``` これだけで、ファイルを保存するたびにPrettierが自動で動きます。 (`"editor.formatOnSave": true`が、「保存時に自動整形する」という設定です) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/what-is-prettie) ## 整形ルールを自分でカスタマイズしたい場合 上記の設定では、Prettierのデフォルト設定でコードが整形されます。 もし自分の好みに合わせたい場合は、ルートに`.prettierrc`という設定ファイルを作って行います。 ```json // .prettierrc { "semi": false, "singleQuote": false, "tabWidth": 4, "useTabs": false } ``` • `"semi": false` → 文末にセミコロンをつけない • `"singleQuote": false` → シングルクォートではなくダブルクォートを使う • `"tabWidth": 4` → インデントをスペース4つにする • `"useTabs": false` → インデントはタブキーではなくスペースキーで行う ## 特定のファイルを整形したくない場合 Prettierに整形して欲しくないファイルがある場合は、`.prettierignore`というファイルをルートに作ります。 そこに除外したいファイルやフォルダを書きましょう。 書き方は`.gitignore`と同じです。 ```shell # .prettierignore node_modules dist ``` ## よくある質問 ### Q1. PrettierとESLintは何が違う? Prettierは「見た目」を整えるツール、ESLintは「コードのルール違反」を検出するツールです。 --- • インデントや改行を自動で直してくれるのがPrettier • 「`var`の代わりに`const`を使うべき」といったルールを教えてくれるのがESLint --- 役割が違うので、実際の開発では両方を使うのが一般的です。 ESLintについては下記記事を参考にしてください▼
また近年は、ESLintとPrettier両方の働きをするBiome(バイオーム)が人気です。 下記の記事で紹介しているので参考にしてください▼
### Q2. Prettierはフロントエンド開発以外にも使える? 使えます。 なおフロントエンド開発については、HTML、CSS、JSON、Markdown、JavaScriptなど幅広く対応しています。 React開発でよく出てくるファイルのほぼ全てをカバーしていると考えて大丈夫です。 ### Q3. VS Codeにエクステンションを入れたのに、保存しても自動整形されない 多くの場合、`.vscode/settings.json`の設定が正しく書かれていないことが原因です。 ファイルの場所(プロジェクトのルートに`.vscode`フォルダがあるか)と、`"editor.formatOnSave": true`が書かれているかを確認してください。 それでも動かない場合は、VS Codeのデフォルトフォーマッターが別のものに設定されている可能性があります。 `.vscode/settings.json`を見て、`"editor.defaultFormatter": "esbenp.prettier-vscode"`が書かれているかも合わせて確認してください。 --- Prettierが分かったら、次はESLintの記事も読んでみましょう。 Prettierが「見た目」を整えるのに対して、ESLintは「コードのルール違反」を教えてくれるツールです。 この2つを組み合わせることで、コードの品質が上がります。 Prettierの次は、React + Viteの開発環境のセットアップ全体を確認してみましょう▼
![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/what-is-prettier) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/what-is-prettier) --- # 【Vite + React + TypeScript】3分で使えるようになる入門ガイド(2026年版) URL: https://monotein.com/blog/react-vite-typescript-how-to-use 公開日: 2026.4.8 更新日: 2026.6.13 概要: 完全未経験者向けに、Vite + React + TypeScriptの始め方を3分で解説。インストールから開発サーバーの起動、buildまでを画像付きで丁寧に説明します。 ## create-react-appとVite + React & TypeScript 2022年ごろまで、React開発では「create-react-app」を使うのが一般的でした。 「create-react-app」とは、React開発を始めるまでに必要なセットアップをすべて済ませてあるツールです。 「create-react-app」を使うことで、React開発をすぐに始められたのです。 しかし「create-react-app」も登場から長い時間が経っており、それに代わる新しいツールが求められていました。 そこに登場したのが「Vite + React」で、2026年の開発シーンではこれを使うのが一般的です。 本記事では、ビギナー向けに、この「Vite + React」をTypeScriptで使う場合のインストール方法と使い方の初歩を紹介します。 今回はTypeScriptを使いますが、JavaScriptを使う場合は下記記事を参考にしてください▼
## 「Vite + React」について 最初に「Vite + React」を簡単に紹介します。 従来まで使われていた「create-react-app」との最大の違いは、JavaScriptファイルをまとめる仕組みです。 --- Reactでは大量のJavaScriptファイルが使われています。 そのため、ブラウザでJavaScriptを実行する前に、それらを一度まとめてあげる必要があるのです。 この大量のファイルを束ねるプロセスは「バンドル」、そこで使われるツールは「バンドラー」と呼ばれます。 「create-react-app」では、Webpackというバンドラーが使われていました。 バンドラーにはWebpack以外にも複数ありますが、近年、日本を含め世界的にポピュラーなものがViteになります。 このViteをWebpackの代わりに使ったもの、それが「Vite + React」です。 Viteは処理能力が高いため、Webpackを使っている「create-react-app」と比べ、ファイルの変更をブラウザに反映させるまでの時間や、build実行時の待ち時間が大幅に短くなっています。 【 よりスピーディに、ストレスなく開発を進められる 】 これが「Vite + React」が支持を集める理由のひとつです。 それでは次に、「Vite + React」のインストール方法とbuildについて紹介をしていきます。 使う言語はTypeScriptです。 ![image](../../images/commonImg/first-study-guide.png) ● [monotein.com/present](/present?magnet=first-study-guide&from=react-vite-typescript-how-to-use) ## 「Vite + React & TypeScript」のインストール方法 ターミナル上で、「Vite + React & TypeScript」をインストールしたいフォルダに移動します。 ここでは「ダウンロード」フォルダにいるものとします。 そして次のコマンドをターミナルに打ち、「Enter」キーで実行してください。 ```shell npm create vite@latest ``` ここで次のような表示が出ることがありますが、特に問題ではないので、「Enter」キーを押して次に進んでください。 ```shell Need to install the following packages: create-vite@9.0.4 Ok to proceed? (y) ``` これ以降、質問がいくつか出てくるので回答していきましょう。 最初はこのアプリの名前で、これがフォルダの名前に使われます。 ```shell ◆ Project name: │ vite-project └ ``` 名前は好きなものが使えます。 ここでは「first-react-app」と書きましょう。 ```shell ◆ Project name: │ first-react-app └ ``` 「Enter」キーを押すと次の質問が出ます。 ```shell ◆ Select a framework: │ ○ Vanilla │ ○ Vue │ ● React │ ○ Preact │ ○ Lit │ ○ Svelte │ ○ Solid │ ○ Qwik │ ○ Angular │ ○ Marko │ ○ Others └ ``` Reactを使った開発をしたいので、キーボードの矢印キーで「React」を選び、「Enter」キーで決定します。 次は、開発言語/フレームワークとして何を使うかを決める質問です。 ```shell ◆ Select a variant: │ ● TypeScript │ ○ TypeScript + React Compiler │ ○ JavaScript │ ○ JavaScript + React Compiler │ ○ RSC │ ○ React Router v7 ↗ https://reactrouter.com │ ○ TanStack Router ↗ https://tanstack.com/router │ ○ RedwoodSDK ↗ https://rwsdk.com │ ○ Vike ↗ https://vike.dev └ ``` ここでは「TypeScript」とだけ書かれているものを選び、「Enter」キーを押しましょう。 次はnpmパッケージを一緒にインストールするかを問う質問です。「No」を選び、「Enter」キーを押しましょう。 ```shell ◆ Install with npm and start now? │ ○ Yes / ● No └ ``` 次のような表示が出たら、セットアップは完了です。
![image](../../images/singleBlogPageImages/blogArticleImages/blog148/pic-3.jpg)
ダウンロードフォルダを見ると、「first-react-app」フォルダが出来ています。 これをVS Codeで開きましょう(VS Codeにフォルダを直接ドラッグ&ドロップすれば開けます)。 中身は次のようになっています。
![image](../../images/singleBlogPageImages/blogArticleImages/blog237/pic-4.jpg)
「Vite + React」のJavaScript版との主な違いは次の点です。 --- ⚫︎ Reactファイルの拡張子が`.jsx`ではなく`.tsx`になっている ⚫︎ TypeScriptの設定ファイル`tsconfig.app.json`、`tsconfig.json`、`tsconfig.node.json`が追加されている --- さて、先ほどの質問「Install with npm and start now?」では「No」を選びました。 なので、最初に「Vite + React & TypeScript」で必要なパッケージをインストールする必要があります。 VS Code上部メニューバーの「Terminal」から「New Terminal」を選び、VS Code下部にターミナルを出してください。 そこに、パッケージをインストールする下記コマンドを打ち、「Enter」で実行しましょう。 ```shell npm install ``` `node_modules`が作成されます。これはパッケージ関係のフォルダです。 これで起動コマンドである`npm run dev`を実行すると、「Vite + React」のTypeScript版が起動します。 しかし、その前にフォルダ内を整理しましょう。 ## 「Vite + React & TypeScript」のクリーンアップ まっさらな状態で始めたいので、不要なものを削除していきます。 `src`フォルダを開き、その中の`assets`フォルダ、`index.css`を削除してください。 さらに`public`フォルダ内に入っているファイルは、`favicon.svg`以外はすべて削除しましょう。 次のようになります。
![image](../../images/singleBlogPageImages/blogArticleImages/blog237/pic-5.jpg)
なお`eslint.config.js`とは、コードの誤りを検出するESLintに関係するファイルです。 使い方や設定方法は下記の記事を参考にしてください▼
さて、次は`App.css`を開いてください。 コードがすでに書かれているので、すべて消しましょう。 次のようになります。
![image](../../images/singleBlogPageImages/blogArticleImages/blog237/pic-6.jpg)
次は`App.tsx`を開き、ここでも同様に、書かれているコードをすべて消しましょう。 そして次のコードを書いてください。 ```jsx // App.tsx import './App.css'; function App() { return (

こんにちは

); } export default App; ``` クリーンアップの最後が`main.tsx`です。 `main.tsx`を開き、次のコードを消しましょう。 ```jsx // main.tsx import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import './index.css' // 削除 import App from './App.tsx' createRoot(document.getElementById('root')!).render( , ) ``` VS Code上部メニューバーの「File」→「Save」、もしくは「Command」+「S」で、各ファイルに加えた変更を保存しましょう。 これでクリーンアップが完了して、「Vite + React & TypeScript」開発を始める地ならしができました。 なおReactファイルで必ず使われている`export`、`import`は多くのビギナーがミスをするところです。使い分けは下記記事をご覧ください▼
次は「Vite + React & TypeScript」を起動させましょう。 ターミナルに`npm run dev`を打ち、「Enter」で実行すると、次のように表示されます。
![image](../../images/singleBlogPageImages/blogArticleImages/blog148/pic-7.jpg)
指定されている`http://localhost:5173`を開いてみましょう。 次のように表示されます。
![image](../../images/singleBlogPageImages/blogArticleImages/blog148/pic-8.jpg)
VS Codeに戻り、`App.tsx`内の`

`タグの文字列を、「さようなら」に変えて保存してみましょう。 ブラウザを見ると、表示も変わっています。 つまり`App.tsx`の`return`横のカッコ`( )`内は、HTMLと同じ要領で編集できることがわかります。 これが「Vite + React & TypeScript」の使い方の初歩の初歩です。 ## TypeScriptのメリットを体験 TypeScriptならではのメリットを実際に体験しておきましょう。 `src`フォルダの中に`Message.tsx`というファイルを作ってください。
![image](../../images/singleBlogPageImages/blogArticleImages/blog237/pic-8-5.jpg)
そこには次のコードを書きます。 ```jsx // Message.tsx type MessageProps = { text: string; }; function Message({ text }: MessageProps) { return (

{text}

); } export default Message; ``` `type MessageProps`の部分がTypeScriptならではの記述です。 「このコンポーネントが受け取る`text`は、`string`(文字列)でなければならない」ということを表しています。 次に`App.tsx`を開き、この`Message`コンポーネントを読み込みましょう。 ```jsx // App.tsx import './App.css'; import Message from './Message'; // 追加 function App() { return (

さようなら

// 追加
); } export default App; ``` 保存をしてブラウザを確認しましょう。 この時点では問題なく動きます。 さて現在、`text`には文字列を渡しています。 なので今度は、文字列ではなく数値を渡してみましょう。 次のように変更してください。 ```jsx // App.tsx import './App.css'; import Message from './Message'; function App() { return (

さようなら

// 変更
); } export default App; ``` すると、VS Codeがこの行に赤い波線を表示します。
![image](../../images/singleBlogPageImages/blogArticleImages/blog237/pic-8-6.jpg)
「`text`は`string`型のはずなのに`number`型が渡されている」というエラーです。 コードを書いている時にVS Codeがエラーを教えてくれるのです。 これが、JavaScriptには無いTypeScriptの大きなメリットのひとつです。 --- 確認できたら、`text`は元の文字列に戻しておきましょう。 ```jsx ``` もうひとつTypeScriptを使うメリットを確認してみましょう。 次のコードを消してください。 ```jsx // App.tsx import './App.css'; import Message from './Message'; function App() { return (

さようなら

// 削除
); } export default App; ``` 現在、`Message`は`import`で読み込まれていますが、使われてはいません。 この状態でも、手元のパソコンで開発している時はアプリは普通に動きます。 しかし、次項で説明する「build」を実行しようとすると、次のようにエラーが出てbuildが失敗します。
![image](../../images/singleBlogPageImages/blogArticleImages/blog237/pic-8-9.jpg)
JavaScriptでは未使用のimportがあってもbuildは通ります。 TypeScriptでは、このような不要なコードもbuildの段階で検出されるのです。 確認できたら、削除した``を元に戻して次のbuildに進みましょう。 いま体験した「型を渡し間違えるとエラーが出る」という機能は、TypeScriptのごく一部です。 Reactで実際に使う場面ごとに、TypeScriptをどこまで・どう書けばいいのかを一本にまとめた教材があります▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-vite-typescript-how-to-use) ## 「Vite + React & TypeScript」のbuild方法 開発が完了し、オンラインで公開するときには「build」という作業を行います。 まず、ターミナル上で「control」を押しながら「C」を押して、「Vite + React & TypeScript」を停止させてください。 そして下記buildコマンドを打って、「Enter」キーで実行しましょう。 ```shell npm run build ``` `dist`という新しいフォルダが生成されます。 この`dist`フォルダをNetlifyなどにアップロードすれば、アプリをオンラインで公開可能です。 ## ここまで終えて、次のステップ 「Vite + React & TypeScript」のセットアップとbuildまでが完了しました。 これで「React × TypeScript開発のスタートライン」に立てたことになります。 React + Viteの全体像と、その先の学習の進め方についてはこちらのガイドをご覧ください▼
ここまでTypeScriptを触ってみて難しく感じた方には、その理由や乗り越え方、使いこなすための簡単な方法など、こちらのガイドでカバーしています▼
## よくある質問 ### Q1. create-react-appはもう使えないのですか? 使えなくはありませんが、2023年春からメンテナンスが止まっています。 2026年現在、新しいプロジェクトで使うことを推奨されていないので、これからReact開発を始めるならVite + React一択です。 なおVite + Reactで作るアプリは、SPA(シングルページ・アプリケーション)と呼ばれるものです。 これはNext.jsアプリとは異なるものなので、違いを理解しておきましょう。 SPAについては下記ガイドを参考にしてください▼
React + Viteとよく比較対象として挙げられるNext.jsの使い方は、下記記事を参考にしてください▼
Next.jsとReact + Viteとの使い分けは下記ガイドをどうぞ▼
Next.jsの全体像を理解したい方は下記ガイド記事をご利用ください。
### Q2. Reactアプリでページを作るにはどうすればいいですか? HTML開発時には`about.html`や`blog.html`というファイルを作れば、それがページになりました。 React開発では別の仕組みが必要です。 React RouterやTanStack Routerと呼ばれるツールを使って行います。 これらのツールはページを作る以外にも様々な便利な機能を提供しているため、Reactアプリでのページ生成時にはほぼ必ず使います。 しかし実は、React RouterやTanStack Routerを使わなくてもページの作成は可能です。 方法は下記の記事で紹介しています。 HTML開発時のように、ファイルをページとして使う方法はこちら▼
コードでページを生成・管理する方法はこちら▼
### Q3. TypeScriptやJavaScriptをまだ学んでいなくても、Vite + Reactは使えますか? 使えます。 HTMLとCSSの知識があればReactの入門は可能です。 TypeScriptやJavaScriptの知識は、Reactに慣れたあとで少しずつ身につけていきましょう。 Reactを学び始めて難しく感じてきた方は、こちらのガイドも参考にしてください▼
### Q4. フロントエンドの学習はどのように進めていけばいいですか? React + Viteのセットアップができても、フロントエンド開発者として就職をしたり、フリーランス案件を獲得するにはまだ不十分です。 TypeScript、Next.jsといったより高度なツールのスキルも必須になります。 学習全体の流れを知りたい方は、こちらのロードマップを参考にしてください▼
### Q5. 今回学んだ型チェック以外に、TypeScriptで何を学べばいいですか? 本記事で体験したのは「渡す値の型が違うとエラーになる」という基本の一部だけです。 実際のReact開発では、propsの型定義、useStateやuseEffectでの型の使い方、[イベントの型の書き方](/blog/typescript-react-event-3-annotations)、[Zod](/blog/what-is-zod)を使ったAPIデータの型チェックなど、覚えておくべきパターンがいくつもあります。 しかもTypeScriptには「Reactでよく使う機能」と「ほとんど使わない機能」があり、すべてを学ぶ必要はありません。 Reactで使う範囲に絞って、正しい順番で学べる教材があります。 詳しくは下記記事をご覧ください▼
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-vite-typescript-how-to-use) --- # 個人向けに作ったReact教材が、法人の社内研修でも使われていた話 URL: https://monotein.com/blog/master-courses-for-corporate-training 公開日: 2026.4.5 更新日: 2026.5.5 概要: 販売から1年経つReact + TypeScript教材。「基礎から体系的に学べる」「即戦力になる」「動画とテキストが揃っている」といった点が評価され、社内教育や研修でも利用されています。 ## React × TypeScriptの社内研修 私はReactをはじめとするフロントエンド開発に関する教材の制作・販売をしています。 その中でも、ゼロから開発現場レベルまでスキルを高められる包括的な教材が「Reactマスター』および『TypeScriptマスター」です。 ▼ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=blog/master-courses-for-cooperate-training) ![image](../../images/commonImg/react-master-video-square-ad-2026jul.png) ▼ [monotein.base.shop/p/00006](https://monotein.base.shop/p/00006/?utm_source=blog/master-courses-for-cooperate-training) ![image](../../images/commonImg/typescript-master-video-square-ad-2026jul.png) 販売を始めてから1年以上が経ち、購入者の方々の声を見てみると、企業や法人の経営者の方にもご購入いただいていることが分かりました。 理由を聞いてみると、「社内教育の教材として使っている」とのこと。 個人向けに作った教材ではあるのですが、 --- • 基礎から体系的に学べる構成になっている\ • 動画とテキストの両方が揃っている\ • 実践重視で、すぐに現場で使えるスキルが身につく --- こういった点が評価されたようです。 対象ユーザーとして想定していたのは個人の学習者だったので、法人での活用は想定外でした。 とはいえ、教材の中身は開発現場ですぐに活かせる即効性の高いものなので、個人が使っても社内研修で使っても、高い効果が出るのは確かです。 また既刊の『[はじめてつくるReactアプリ with TypeScript](https://www.amazon.co.jp/dp/B094Z1R281)』も、企業の社内研修や社員教育でも使われており、一度に大量の注文が来ることがあります。 なお、「社内でReactやTypeScriptを扱える人材を育てたい」、「新人や異動メンバーの教育に困っている」といった場合には、個別のご相談も受けています。 ご興味があればお気軽にどうぞ▼ ⚫︎ monotein.com/corporate-training 企業向けe-learning用教材も提供しています。 ⚫︎ monotein.com/corporate-materials --- *研修に関係する記事一覧 • 未経験社員をReactエンジニアへ。失敗しない教育ロードマップと研修のポイントTypeScript導入に失敗する企業がやっていること【原因と対策も解説】React研修の失敗しない選び方 | 外注研修の『現場で使えない』を防ぐ3つのポイントビギナーへのReact研修。教える前に知っておきたかった3つのこと *現在のReact開発のスタンダード「React + Vite」完全ガイド。 • 【2026年版】React + Vite完全スタートガイド|初心者向けにすべて解説 無料の資料もご用意してあります。 ぜひご利用ください▼ --- # 【図解】なぜフロントエンドのReact開発でNode.jsが必要なの? URL: https://monotein.com/blog/why-nodejs-is-needed 公開日: 2026.4.4 概要: Node.jsはバックエンドだけのものではありません。React、TypeScript、Next.js、現代のフロントエンド開発でNode.jsが必要な理由を、ブラウザとパソコンの関係から丁寧に説明します。 ## Node.jsがフロントエンド開発で必要な理由 「_Node.jsはバックエンドで使うものでしょう?_」 「_なぜフロントエンドのReact開発でNode.jsがいるの?_」 こういった疑問を抱えているビギナーは多くいます。 Node.jsが必要な理由を1分で説明しましょう。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/why-nodejs-is-needed) パソコン内には様々なアプリケーションが入っています。 「パソコン」という「土台」の上でアプリケーションが動いているイメージです(次図)。 ブラウザもその内のひとつです。 ![image](../../images/singleBlogPageImages/blogArticleImages/blog235/nodejs-1.png) JavaScriptはウェブサイトやウェブアプリで使われています。 なので、ブラウザ上でJavaScriptが動くのは分かると思います。 ![image](../../images/singleBlogPageImages/blogArticleImages/blog235/nodejs-2.png) しかしもしここで、ブラウザ以外のアプリケーション上でもJavaScriptが使えたら便利です。 Node.jsはそのために開発されました。 パソコン上にNode.jsをインストールしたものが次図です。 ![image](../../images/singleBlogPageImages/blogArticleImages/blog235/nodejs-3.png) この結果、JavaScriptをブラウザ上だけでなく、ブラウザ以外の場所、つまりパソコン全体で使えるようになります。 ![image](../../images/singleBlogPageImages/blogArticleImages/blog235/nodejs-4.png) ブラウザ内で留まっていてはできない操作、例えば; • パソコン内のファイルの読み・書き\ • データベースとやり取り\ • コマンドラインツールの開発 こういったことが、JavaScriptで行えるようになります。 (\*Node.jsが「JavaScriptの実行環境」と呼ばれるのはこのためです)。 --- TypeScript開発でNode.jsが必要なのも同じ理由です。 ブラウザはTypeScriptを処理できません。 ブラウザ以外の場所でJavaScriptへと変換してあげる必要があります。 そのためNode.jsが必要なのです。 Node.jsがインストールできたら、React + Viteのセットアップと学習の進め方はこちらのガイドをどうぞ▼
Node.jsはNext.js開発でも当然必要になります。 Next.jsのセットアップからRSC・Server Actionsまでを体系的にまとめたガイドはこちらです▼
![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/why-nodejs-is-needed) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/why-nodejs-is-needed) --- # 今さらReactを学び始めていいのだろうか、という不安感 URL: https://monotein.com/blog/perfect-moment-will-never-come 公開日: 2026.4.2 概要: 「今学んだことがすぐ時代遅れになるかも」という不安を、多くのビギナーが感じています。しかし完璧なタイミングは存在しません。興味を持ったことをまず小さく試してみること。これが最善の手です。 ## 「始めるのに最適なタイミング」は永遠に来ない 新しいツールやサービスが毎日のように登場しています。 AIだけを見ても、ChatGPTが広まったと思ったら、Gemini、Claude、Genspark、Grok......と、まるで雨後のタケノコのように出てきます。 このような状況の中、少なくないビギナーは「ある不安」を覚えているようです。 「*いま、Reactを学び始めていいのだろうか.....?*」 私に「*『Reactの次』に来るものは何ですか?*」と聞いてくる企業のIT研修担当の方もいます。 「*『Reactの次の新しいもの』がすぐ出てくるだろうから、それまで待とうかな.....*」 といった気持ちからでしょう。 誰も「すぐに時代遅れになるもの」に時間とエネルギーを投資したくありません。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/perfect-moment-will-never-come) ## 考えてる = 先延ばし 実は私も、かつてのビギナー時代、似たような不安を感じていました。 React、Vue、Angular。 どのフレームワークが今後一番長く残るのか、どれが一番「自分の時間の投資に見合うのか?」と考えていたのです。 しかしいま振り返れば、それは「考えていた」のではなく「先延ばしをしていた」でした。 --- 変化のスピードは、私のビギナー時代よりも加速しています。 そのため、ビギナーが感じる「*自分の学んだことがすぐに役立たなくなるかも....*」という不安は、今の方がずっと大きいでしょう。 「*『次のReact』が出てきたらそれをやろう*」という気持ちになるのも当然です。 しかし事実は、次を待っていてもそれは来ない。 「完璧なタイミング」とか「完璧な機会」といったものは無いのです。 「完璧な学習教材」というものも存在しません。 「もう少し情報が揃ったら」、「もう少し状況が落ち着いたら」と待っていると、また新しいツールが登場し、また新しい不安が生まれます。 その繰り返しです。 結局、最善の一手とは「いま目の前にあることを始めること」。 完璧な準備が整ってからではなく、まず触ってみること。 興味を持ったことを、まずは小さく始めてみましょう。 始めてみないと、それが自分に合っているのかすら分からないのです。 Reactが合わなかったら、「じゃあ別のものを試そう」と思えます。 そう思えることが発見であり、大きな前進です。 「まず触ってみよう」と決めたとき、次に気になるのは「どこでつまずくのか」、「難しく感じたらどうすればいいのか」ということだと思います。 Reactでビギナーがつまずきやすいポイントと、その具体的な乗り越え方をまとめたガイドがあります▼
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/perfect-moment-will-never-come) --- # 【専門用語なし】でTypeScriptを学べる完全ビギナー向け入門書を出しました URL: https://monotein.com/blog/typescript-book-new-release 公開日: 2026.3.14 更新日: 2026.3.31 概要: ビギナー向けTypeScript入門書『はじめてさわるTypeScript』を出版しました。HTMLとCSSだけが前提知識。天気アプリを作りながら、TypeScriptの便利さを実感できる1冊です。 ## 『はじめてさわるTypeScript』を出版しました 昨日、新しいビギナー向け入門書『はじめてさわるTypeScript』をリリースしました。 はじめてさわるTypeScript

はじめてさわるTypeScript

—「TypeScriptって難しそう」が、「意外と楽しい!」に変わる1冊

Amazon Amazonで見る
今回はTypeScriptの入門書ですが、いつもの通り前提知識はHTML/CSSだけあれば進められます。 Amazonの複数ランキングNo.1になっています。 ![ts-book-ranking1.jpg](../../images/singleBlogPageImages/blogArticleImages/blog233/ts-book-ranking1.jpg) ![ts-book-ranking1.jpg](../../images/singleBlogPageImages/blogArticleImages/blog233/ts-book-ranking2.jpg) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/typescript-book-new-release) ## こんな人に向いています *• TypeScriptに興味はあるけど、難しそうで手が出せない* *• 以前挑戦したけど途中で挫折してしまった* *• HTMLとCSSは少し触ったことがあるけど、その先に進めていない* *• TypeScriptやReactに進みたいけれど入り口が見えない* --- こんな経験をした人は多いと思います。 こういう人のレベルにぴったり合うのが今回の本です。 ## この本でやること この本では、小さな天気アプリを作りながらJavaScriptとTypeScriptの基本を学びます。 使うのはHTML、CSS、JavaScript、TypeScriptの4つだけ。 余計なツールや複雑な設定は必要ありません。 実際に動くウェブアプリを作りながら進むので、モチベーションが続きます。 完成見本はこちらから▼ • [typescript-book-weather-app.netlify.app](https://typescript-book-weather-app.netlify.app) ![code-based-routing-1](../../images/singleBlogPageImages/blogArticleImages/blog233/app-top.jpg) 都市名を英語で入力して「Get Weather」ボタンを押すと、その街の現在の天気・気温・空模様がリアルタイムで表示されます。 開発だけでなく無料のオンライン公開方法も解説するので、完成したアプリを家族や友人と共有可能です。 ## HTML/CSSの次のステップ ウェブ制作を学び始めた人の多くは ```shell HTML ▼ CSS ▼ JavaScript ``` という順番で進みます。 ただ、JavaScriptの段階で止まってしまう人がかなり多い。 私自身もそうでした(私のJavaScript挫折体験は[こちら](https://typescript-book-weather-app.netlify.app))。 理由はシンプルで、急に難しく感じるからです。 HTMLやCSSは「書けば見た目が変わる」ので理解しやすいですが、JavaScriptは考え方がまったく違います。 そこでこの本では、「専門用語は使わずにアプリを作りながら理解する」という形にしました。 ## TypeScriptも一緒に触れる もう一つのポイントはTypeScriptも最初から触れることです。 近年のフロントエンド開発の学習ロードマップは次のように進みます。 ```shell JavaScript ▼ TypeScript ▼ React ``` この本ではJavaScriptとTypeScriptの入り口を扱っています。 そのため、本書でJavaScriptとTypeScriptを理解すると、Reactの学習にスムーズに入っていけるでしょう。 --- TypeScriptはJavaScriptに「型」と呼ばれるオプション機能を追加したものです。 【 JavaScript + オプション機能 = TypeScript 】 この「型」とはデータの「種類」と「形」をチェックする仕組みで、プログラムのミスを事前に見つけてくれます。 しかし言葉で説明されるだけではピンとこないことも多いはずです。 本書では、まずJavaScriptでアプリを完成させ、その後TypeScriptに書き換える、という流れで進みます。 そのため、TypeScriptの便利さと必要性が実感を伴って理解できるようになっています。 くわしくはAmazonでどうぞ ▼ はじめてさわるTypeScript

はじめてさわるTypeScript

—「TypeScriptって難しそう」が、「意外と楽しい!」に変わる1冊

Amazon Amazonで見る
フロントエンド学習ロードマップ ▼ ![roadmap-for-react-book-wide](../../images/commonImg/roadmap-for-react-book-wide.png) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/typescript-book-new-release) --- # 1時間でアプリ公開! ロングセラーのJavaScript本が2026年版リニューアル URL: https://monotein.com/blog/update-javascript-book 公開日: 2026.3.12 更新日: 2026.3.31 概要: 星4.5以上・3年間読まれ続けた『はじめてさわるJavaScript』が第2版になりました。情報を2026年版に刷新し、読みやすさもさらに向上しています。ペーパーバック版も利用可能です。 ## 3年間読まれ続けたJavaScript入門書が新しくなりました 2023年に出版した『はじめてさわるJavaScript』は、Amazonで星4.5以上の評価をいただき、JavaScript入門書としてコンスタントに読まれ続けてきました。 --- *「JavaScript学習でつまずいていたけど、これで前に進めた!」* *「HTMLとCSSだけ分かっていれば進められる!」* --- そんな声を多くいただいてきた一冊です。 このたび第2版として生まれ変わりました。 はじめてさわるTypeScript

はじめてさわるTypeScript

—「わたし、JavaScript使えるかも」と1時間で思える本

Amazon Amazonで見る
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/update-javascript-book) ## 今回の改訂ポイント ### 【情報の鮮度を2026年版に】 ツールのUI変更やサービスの仕様変更など、3年前とは異なる部分をすべて最新情報に書き換えました。 --- *• weatherApiの最新の登録・利用フローを反映* *• VS Codeの最新インターフェースに基づいた解説* *• Netlify Dropを使った、さらにスムーズな公開プロセス* --- 「本の手順通りにやったのに画面が違う!」という技術書特有のストレスを排除しています。 ### 【「読みやすさ」の追求】 「技術書は文字が詰まっていて読むのがしんどい」という声に応え、文章の構成を見直しました。 --- *• 改行を大幅に増やし、スマホやタブレットの小さな画面でもスラスラ読めるよう調整* *• 視覚的に迷わないよう、図解とコードの配置を最適化* ![many-breaks.png](../../images/singleBlogPageImages/blogArticleImages/blog232/many-breaks.png) ### 【1時間で小さな成功体験をゲット】 今回の第2版でもゴールは同じです。 「1時間で世界中の天気を表示するアプリを作り、オンラインで公開する」 --- *「アプリが動いた!」* *「自分のアプリがネットで見られる!」* *「知らないことを知るのは楽しい!」* --- こういった「小さな成功体験」こそが、学習を続けるための、そして人生を楽しむための秘訣です。 この新しい『はじめてさわるJavaScript』が、新しい挑戦のきっかけになれば幸いです。 電子書籍だけでなく、紙の本(ペーパーバック)でもご利用いただけます。 はじめてさわるTypeScript

はじめてさわるTypeScript

—「わたし、JavaScript使えるかも」と1時間で思える本

Amazon Amazonで見る
フロントエンド学習ロードマップ ▼ ![roadmap-for-react-book-wide](../../images/commonImg/roadmap-for-react-book-wide.png) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/update-javascript-book) --- # React RouterやTanStackを使わないページ移動の実装方法(File-based routing) URL: https://monotein.com/blog/react-app-routing-without-external-packages-2 公開日: 2026.3.10 更新日: 2026.4.6 概要: React RouterなどのパッケージなしでファイルベースのルーティングをReact(Vite)に実装する方法を解説。カスタムLinkコンポーネントでSPAのスムーズなページ遷移も実現できます。 ## パッケージなしでページを遷移(ファイルでページを設定) React(+ Vite)アプリでページ切り替え(ルーティング)を実装する時には、React RouterやTanStack Routerを使うのが一般的です。 しかしこれらを使わずともルーティングは可能なので、その簡単な方法を紹介します。 本記事では、Next.jsのような『ファイルがページに対応している切り替え(File-based routing)』を説明します。 コードでページを切り替える方式(Code-based routing)については、こちらの記事をご覧ください。 まずはReact + Viteを用意しましょう。 そして`index.css`内のコードはすべて消しておいてください。 (*React + Viteのセットアップについてはこちらの記事をご覧ください) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-app-routing-without-external-packages-2) ## ページの用意 ページとして使うファイルを入れる`pages`フォルダを用意します。 ![page-based-routing-1](../../images/singleBlogPageImages/blogArticleImages/blog231/page-based-routing-1.jpg) 次のようにファイルを用意してください。 ![page-based-routing-2](../../images/singleBlogPageImages/blogArticleImages/blog231/page-based-routing-2.jpg) 各ファイルには次のように書きます。 ```js // pages/home.jsx const Home = () => { return (

Home

) } export default Home ``` ```js // pages/about.jsx const About = () => { return (

About

) } export default About ``` ```js // pages/notfound.jsx const NotFound = () => { return (

Not Found

) } export default NotFound ``` ## ページ切り替えの仕組みの用意 まず`App.jsx`のコードをすべて消して、次のように書いてください。 ```js // App.jsx const App = () => { return } export default App ``` そして先ほど作ったファイルをすべて読み込みます。 ```js // App.jsx const pages = import.meta.glob("./pages/**/*.jsx", { eager: true }) // 追加 const App = () => { return } export default App ``` 参考ですが、この`pages`の中身は次のようになっています。
![page-based-routing-3](../../images/singleBlogPageImages/blogArticleImages/blog231/page-based-routing-3.jpg)
次はファイルパスをURLに変換します。 ```js // App.jsx const pages = import.meta.glob("./pages/**/*.jsx", { eager: true }) // ⬇追加 function normalizePath(filePath) { return filePath .replace("./pages", "") .replace("/home.jsx", "") .replace(".jsx", "") || "/" } // ⬆追加 const App = () => { return } export default App ``` 最後に、これらを使ってルーティングを実現するコードを追加しましょう。 ```js // App.jsx import { useEffect, useState } from "react" // 追加 const pages = import.meta.glob("./pages/**/*.jsx", { eager: true }) function normalizePath(filePath) { return filePath .replace("./pages", "") .replace("/home.jsx", "") .replace(".jsx", "") || "/" } const App = () => { // ⬇追加 const [path, setPath] = useState(window.location.pathname) useEffect(() => { const onPopState = () => setPath(window.location.pathname) window.addEventListener("popstate", onPopState) return () => window.removeEventListener("popstate", onPopState) }, []) const Page = Object.entries(pages).find( ([file]) => normalizePath(file) === path )?.[1].default return Page ? :

エラー

// ⬆追加 } export default App ``` ## Linkタグの用意 ページを移動するリンクに``タグを使い、次のように書くとします。 ```js About ``` しかしこれではページがリロードされてしまい、SPA(Single Page Application)の特徴である「スムーズなページ遷移」にはなりません。 なので専用の``タグを用意しましょう。 `Link.jsx`を作ってください。 ![page-based-routing-4](../../images/singleBlogPageImages/blogArticleImages/blog231/page-based-routing-4.jpg) 次のように書きます。 ```js // Link.jsx export function Link({ to, children }) { const handleClick = (e) => { e.preventDefault() window.history.pushState({}, "", to) window.dispatchEvent(new PopStateEvent("popstate")) } return ( {children} ) } export default Link ``` ``タグを各ページに読み込みましょう。 ```js // pages/home.jsx import Link from "../Link" // 追加 const Home = () => { return (

Home

About // 追加
) } export default Home ``` ```js // pages/about.jsx import Link from "../Link" // 追加 const About = () => { return (

About

Home // 追加
) } export default About ``` ```js // pages/notfound.jsx import Link from "../Link" // 追加 const NotFound = () => { return (

Not Found

Home // 追加
) } export default NotFound ``` これで、パッケージを使わない、ファイルベースでのルーティングをReactに実装できました。 しかしこのようなマニュアル方式には限界もあります。 ## この実装方法の限界 ページが増えたときにコードも増えていく、動的ルートが扱いづらい、テストが書きづらいといった問題が典型的です。 そのためやはり一般的には、React RouterやTanStack Routerといったパッケージを使うことになります。 なお、もうひとつの切り替え方式である『コードでページを切り替える方法(Code-based routing)』については、こちらの記事をご覧ください。 React + Viteの基礎から学習の全体像まで確認したい方は、こちらのガイドもどうぞ▼
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-app-routing-without-external-packages-2) --- # AmazonでNo.1のReact入門書を無料公開 URL: https://monotein.com/blog/first-chapter-from-react-book 公開日: 2026.2.22 更新日: 2026.5.15 概要: 5年間読まれ続けるReact + Vite + TypeScript入門書の冒頭を無料公開。HTMLとCSSの知識だけでOK。2〜3時間でウェザーアプリを作りながらReactの基礎が身につく、ビギナー向けハンズオン教材です。2026年1月に第3版が発売された最新情報にも対応。 ## 好評のReact教材 5年に渡って好評のReact入門教材『[はじめてつくるReactアプリ with TypeScript](https://www.amazon.co.jp/dp/B094Z1R281)』。 AmazonのReact関係本の中では一番の高評価になっています。 ![react-ts-book-high-review.jpg](../../images/singleBlogPageImages/blogArticleImages/blog230/react-ts-book-high-review.jpg) 本書は電子書籍と紙の本、両方でご利用いただけます。 紙のバージョンは企業の研修等で利用されており、大量の注文が来ることがあります。 さて、今回この第3版リリースを記念して、冒頭部分を公開します。 自分に合いそうだと思ったら、ぜひ本編も読んでみてください。 2026年最新の情報に対応しています。 Amazonで購入可能です。 はじめてつくるReactアプリ with TypeScript

はじめてつくるReactアプリ with TypeScript

【発売から5年読まれ続けているReact × TypeScript入門書の決定版。2026年1月第3版発売。】

Amazon Amazonで見る
さらに2026年5月には、AI開発の章を追加した新版をリリースしました。 詳しくは▼ はじめてつくるAI × Reactアプリ with TypeScript

はじめてつくるAI × Reactアプリ with TypeScript

【2026年5月発売】AIアプリをReact × TypeScriptで作れるスキルが身につく本

Amazon Amazonで見る
## 本書の特徴 ▶︎ **2〜3時間で成功体験を作る**\ 学び始めで大切なことは「小さな成功体験」をすばやく作ることです。本書を読むとアプリ開発の成功体験を短時間で得られます。 ▶︎ **作りながら学ぶ**\ 目で単に読むのではなく手を動かしながら進むので飽きづらく、さらに作り上げていく楽しさ、充実感も味わえます。 ▶︎ **詰め込みすぎない**\ 学び初めの段階では深い理解や枝葉の知識は不要です。むしろ詰め込みすぎるとかえって難易度が上がり、挫折する可能性が高まります。 ▶︎ **専門用語なし**\ プログラミングでビギナーがつまづく最大の原因は、なじみのない専門用語、カタカナ語です。本書はそれらを使わずに進み、「正しさよりもわかりやすさ」「難しさよりも楽しさ」を優先しています。 ▶︎ **最新情報に準拠**\ 出版後も本書の内容は定期的にアップデートしており、開発現場のスタンダードとベストプラクティスを常に取り入れたものになっています。 ## 作るもの 本書では、天気を取得して表示するウェザーアプリをReact + TypeScriptで作ります。 ![app-look.jpg](../../images/singleBlogPageImages/blogArticleImages/blog230/app-look.jpg) [• react-typescript-book-with-vite.netlify.app](https://react-typescript-book-with-vite.netlify.app) 都市の名前を英語で入力すると、その街の天気が表示されます。上記URLからアクセスして実際に使ってみましょう。 本書はHTMLとCSSの学習を終えた人を対象にしているので、JavaScriptやTypeScriptの前提知識は必要ありません。 本書ではMacを使って開発を行います。Windowsの方は一部コマンドラインの表示が異なることに注意してください。 Reactはバージョン19、ベースにはReact + Vite、ブラウザはGoogleクロームを使います。 ## ねらいと対象読者 本書の初版を執筆・出版したのは2021年5月でした。 執筆の理由は、その2ヶ月前の2021年3月に出版した『はじめてつくるReactアプリ(下記)』に対して、多数の読者の方から「TypeScriptを使って欲しい」という声が寄せられたためです。 はじめてつくるReactアプリ

はじめてつくるReactアプリ

【2026年1月第3版発売。HTMLとCSSの知識だけで始められるReact開発。好評なハンズオン形式でスイスイ進める。最新のReact 19の情報もあり。】

Amazon Amazonで見る
2020年以前、TypeScript導入は大規模なReactアプリ開発に限られていました。 しかし2021年ごろからは、React + TypeScriptの組み合わせがアプリの規模を問わずほぼデフォルトといえる状態になっています。 本書初版発行から5年経った2026年の現在においてもこの流れは強くなる一方で、商業用のReactアプリをJavaScriptで開発することはほぼないといっていいでしょう。 そうはいっても、これまでJavaScriptだけを書いてきた人がTypeScript開発へと自発的に進むには、次章で触れるような特有の難しさもあります。 そこで本書では、ビギナーの時から現在のReact開発のスタンダードとなっているTypeScriptを使い始め、TypeScriptへの苦手意識を持たないようにすることを狙いとしています。 本書の最大の目的は、「React、TypeScriptって難しそうだったけど意外に簡単だな」という達成感と、「この先も勉強を進めていけそうだ」という楽観的な気持ちを持ってもらうことです。 そのためReactやJavaScript、TypeScriptの網羅的な解説や理論的な説明は極力少なくしています。 本書でReact入門に成功した人は、本書続編であるReactおよびTypeScriptの教材に挑戦してみましょう。詳しくは第3章で紹介します。 ## 構成 第1章ではReactとTypeScriptの簡単な解説と、必要な準備作業を行います。 第2章ではReact + TypeScriptアプリの開発を行います。 第3章では完成したアプリをネット上に公開します。 そして最後の第4章では、アプリをブラッシュアップしてクオリティを一段高めます。 ## Reactの最新版(バージョン19)について 現在のReactの最新版は、2024年にリリースされたバージョン19です。本書で使うReact開発のひな形「React + Vite」を利用すると、このバージョン19が自動でインストールされます。 バージョン19では様々な機能が追加されました。本書で開発をしていくウェザーアプリも、この新しい機能を使って開発することが可能です。 しかし現時点(2026年)では、普段目にするReactのコードは19以前のものがまだ大半を占めます。 さらに本書で扱う内容の大部分は、バージョン19を使っても変わることがない基礎部分です。 そのため入門書である本書において、現時点ではバージョン19を「発展的事項」として扱い、最終章にて紹介します。 本書で開発するアプリに関係する部分でいうと、バージョン19で導入された新機能は「これまでのReactコードを置き換えるもの」ではなく、むしろ「書けるコードの選択肢を増やすもの」です。 また繰り返しになりますが、本書で学ぶ内容は「変わりやすい最先端の部分」ではなく、「ベースとなる基礎部分」です。 そのため、本書で学ぶ内容がバージョン19以降で役に立たなくなるということはないので、安心してください。 ## AI時代にReactを学ぶ意味 今ではプログラミング初心者でも多くの人がAIを使っています。 疑問点やエラー発生時に助けてもらう「アシスタント役」としてだけでなく、アプリのコードの大半をAIに書かせる「バイブコーディング」も盛んです。 さて、AIはインターネット上の情報を学習しています。 つまりネット上の情報量が多いトピックほど、より質の高いアウトプットがAIから得られるのです。 では、フロントエンドのテクノロジーの中で「情報量が最も多い」ものは何でしょうか? Reactです。 それに加えて、Reactと密接に関連するNext.jsやTypeScriptの情報です。 これはReactが過去数年間「一強」とも言えるポジションにあり、2026年の今でも積極的に選ばれるテクノロジーであることを考えれば当然の結果です。 現在の開発シーンでReactは「デファクトスタンダード(事実上の業界標準)」の地位を確立しており、もはや「フレームワーク」や「ライブラリ」の枠を超え、アプリ開発の必須「インフラ」として定着しています。 その結果、AIの応答でもReactベースのコードが頻繁に提案されるのです。 しかし、AIのコードの正誤を判断するのは私たち人間の開発者。 アプリ開発でAI利用がますます浸透する中、Reactの正確な知識と深い理解が、これまで以上に重要性を増しています。 「AIをReact学習にどう使うか」が気になっている方へ。 React開発でそのままコピペして使えるAIプロンプトを10個まとめたガイドを無料で配布しています。 学習・実装・デバッグ・レビューまで場面ごとに使えます。 ![image](../../images/commonImg/react-ai-prompts.png) monotein.com/present ## よくある質問 _◾️ はじめてアプリケーションを作ります。大丈夫でしょうか?_ **▶︎ はい、経験がなくても作れるようになります。** 本書はウェブアプリケーション制作の完全ビギナーがスムーズに開発ツールに慣れ、そして短時間で完成までもっていけるよう、難易度と構成を工夫して執筆してあります。 本書を始めるための前提知識はHTMLとCSSですが、深い理解は必要ありません。 JavaScript、TypeScriptの知識も不要です。 HTMLとCSSで数回程度ウェブサイトを作った経験があれば十分です。 --- _◾️ 本書でのReactアプリ制作や、アプリのオンラインでの公開にはどれくらいお金がかかりますか?_ **▶︎ 0円です。** Reactは無料で利用でき、またアプリの公開に使うオンラインサービスも料金はかかりません。 --- _◾️ 本書で学んだ内容はReact以外のフレームワークでも役立ちますか?(例えばVue、Astro、Remix、Svelte、Angularなど)_ **▶︎ はい、役立ちます。** 次章で触れるReactの基礎概念に「コンポーネント」というものがあります。 これを使った「コンポーネント指向」という設計概念は、他のフレームワークにおいても共通するものです。 それ以外にもフレームワーク間で共通していることは非常に多く、本書で学ぶReactの知識があれば、他のテクノロジーもすばやく身につけることができます。 --- _◾️ AIは、Reactやフロントエンド開発者にどのような影響を与えています?_ 多くのフロントエンド開発者がAIを使っています。 最適なコードをAIに提案してもらうだけでなく、すべてのコードをAIに書かせる「バイブコーディング」も起きています。 そして先ほども触れたように、AIが提案してくるコードの大半はReactです。 オンライン上にはReact関係の情報が最も多く、AIはそれを学習しているからです。 このような状況を見ると、「React学習者は減っているのだろう」と考える人が多いでしょう。 しかし実態はもう少し複雑です。 「全部AIにやらせる」とAIに丸投げする人が出てくる一方、「あれ、自分はReactを分かっていなかったな」と感じる人も増えているのです。 AIの登場によって「AIの書いてきたコードを人間が理解できない」という場面が増えました。 これが逆説的に開発者の学習熱を高めているのです。 そしてこれはフロントエンドに限られた話でもありません。 AIによって基礎分野(アルゴリズム、データ構造、アーキテクチャ、セキュリティなど)の勉強を促す動きは広がっています(詳しくはこちら)。 AIによってReactに触れる機会は増えました。 同時に、「Reactが分からない」と感じる人も増えているのです。 --- また、AIによって学習の断片化は進んでいます。 AIの出してくるものが、個別状況に最適化された、断片的な情報だからです。 しかし実は断片的な知識とは、「全体を理解している人」に対してだけ役に立つものです。 たとえばパズル。 完成図を知らないまま、ピースだけ大量に渡されたとしましょう。 どれを、どこにあてはめればいいのかが分かりません。 しかし全体像を知っている人なら、「これはここに入るな」と推測・判断できます。 Reactでも同じです。 全体像を理解する必要性はかつてないほど高まっています。 入門書である本書の目的は「Reactにスムーズに入門してもらうこと」なので、全体像まではカバーしていません。 しかし本書の続編となる教材は用意してあるので、Reactの全体像を理解し、AI時代にReactをしっかり使いこなしたい人は、そちらもご利用ください。 この本書続編の『React × TypeScriptマスター』という教材については、後の章で紹介します。 --- _◾️ AIでReactのスキルの価値はゼロになりますか?_ **▶︎ 答えは「No」です。** 先ほども触れたように、現在のReactはアプリ開発の「デファクトスタンダード(事実上の業界標準)」、あるいは「必須インフラ」の地位を占めています。 確かに50年後の未来では、Reactはもう使われていないでしょう。しかし、現れては消えていくのが全てのテクノロジーの宿命です。違いは「消えていくまでのスピード」です。 現在の世界的なReact採用率から見ると、仮に明日、新しいフロントエンド・テクノロジーが突如現れても、たちまちのうちにReactが置き換えられるということは非現実的です。 また、その新しいテクノロジーがReactとは根本的に異なるということも考えにくいことです。新しいものは古いものの上に積み上がっていくからです。 そのため今から学ぶReactは、現在だけでなく、この先の未来においても役に立つスキルといっていいでしょう。 --- --- --- ......以上が2021年の発売以来、5年に渡って好評のReact入門教材『[はじめてつくるReactアプリ with TypeScript](https://www.amazon.co.jp/dp/B094Z1R281)』の冒頭部分です。 ビギナーがReactへスムーズに入門できるようになっているので、この冒頭部分を読んで「自分に合ってそうだ」と感じた方はぜひ本編に目を通してください。 はじめてつくるReactアプリ with TypeScript

はじめてつくるReactアプリ with TypeScript

【発売から5年読まれ続けているReact × TypeScript入門書の決定版。2026年1月第3版発売。】

Amazon Amazonで見る
本記事でさらにReactに興味が湧いてきたら、次のステップとして学習全体の流れを把握しておきましょう。 JavaScript・React・TypeScript・Next.jsをどの順番でどう進めていくかを、2026年版のロードマップとしてまとめています▼
本書は「React入門の成功体験」を作ることに焦点を絞っているため、詰め込みすぎない構成にしています。 そのため、本書だけではReactを使いこなす能力やスキルまでは習得できません。 本書続編にあたる下記教材では、AI時代に通用するReact × TypeScriptスキルを体系的に習得できます▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/first-chapter-from-react-book) --- # 勉強のモチベーションが続かない本当の理由 URL: https://monotein.com/blog/reason-for-unable-to-continue-studying 公開日: 2026.2.21 更新日: 2026.4.6 概要: なぜ勉強で挫折してしまうのか?答えは「成功体験がない」こと。理論より先に「できた!」を実感することが継続の秘訣です。プログラミングもハンズオン教材を選べば変わるります。英語学習との違いを例にわかりやすく解説 ## 勉強で挫折する理由 これまで多くのプログラミング初心者を見てきました。 その経験から言える「勉強で挫折する最大の理由」、それは..... 「成功体験の欠如」です。 ## 勉強で挫折しない理由 「できた!」という喜びがあってこそ、「なぜうまくいったんだろう?」という学ぶ気持ちは出てきます。 --- • まず感情があって、理由がくる\ • まず体験があって、理解がくる\ • まず現象があって、理論がくる つまり、まずココロが動いて、アタマが動く。 --- 私たちの人生の経験というものも、ほとんどがこれです。 例えば日本語。 子供の頃を思い出してみましょう。 まずは日本語を少し話せるようになって、その後、小学校の国語の授業で形容詞やサ行変格活用などの理屈を学びました。 「実践」があって、その後で「知識」です。 この真逆が英語の授業。 英語学習がうまくいきにくいのは、体験(=成功体験)よりも先に理屈をやろうとしているからです。 「できた!」という「喜び」よりも前に、「アタマ(知識)」をやろうとするからです。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/reason-for-unable-to-continue-studying) では理論を学ぶのは余計なことで、ずっと「ココロ」に頼っていればいいのでしょうか。 Noです。 スタートが無事切れ、ある程度の波に乗れたあとは、理論も学ぶことで相乗効果が生まれます。 より深く分かり、より深く考えることができるのです。 ## プログラミング学習を継続する方法 最初に選ぶ教材が肝心です。 「できた!」という気持ちを味わえる教材を選びましょう。 そのためには、コードを細々(こまごま)と解説しているものではなく、ウェブサイトやアプリケーションを実際に作りながら学ぶスタイル(ハンズオン形式)のものが効果的です。 私の教材はすべてそういうスタイルになっているので、効果的にプログラミングを身につけたい方は試してみてください。 また学習の前には、HTML・CSSからReact・TypeScriptまで、最適な順番と各ステップの進め方をまとめたロードマップにもしっかり目を通しましょう▼
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/reason-for-unable-to-continue-studying) --- # ChatGPTに頼る前に理解すべきReactの3つの概念 URL: https://monotein.com/blog/react-3-key-concepts-in-ai-era 公開日: 2026.2.19 更新日: 2026.3.31 概要: ChatGPTに頼る前に知っておきたいReactの基礎概念が「コンポーネント」「Props」「State」の3つです。この3つを理解するだけで、AIの回答が格段にわかりやすくなります。 ## AIに頼る前に理解すべきReactの3つのコンセプト 2026年の今、プログラミング学習の景色は一変しています。 --- • エラーが出たらChatGPTに投げる\ • Cursor(AIエディタ)にコードを書かせる\ • UIをすべてBolt.newやLovableで作る --- これらはビギナーの間でもごく一般的です。 しかしこのような学習法を続けたために、「Reactがわかった」という実感を得られない初心者が増えている..... というのが私の印象です。 AIを「使いこなす」ためにも、最低限の理解は必要です。 本記事では、ChatGPTに頼る前に知っておきたいReactの3つの概念を簡潔に紹介します。 ## 概念①コンポーネント Reactの中心にある考え方が「コンポーネント」です。 コンポーネントとは、UIを部品に分けたもの。 例えばあるウェブアプリを思い浮かべてください。 ヘッダー、サイドバー、記事一覧、フッター。 Reactではこれら一つひとつを「コンポーネント」という「部品」として作ります。 部品に分けることで、それをアプリ内のどこでも使いまわせるからです。 修正も楽になります。そのコンポーネントを一箇所直せば、使われているすべての場所に反映されるからです。 --- コードで見ると、コンポーネントは次のような形をしています。 ```js const Header = () => { return (

サイトのタイトル

) } ``` やや専門的に言うと、「コンポーネント」とは「JavaScriptのfunction」のことです。 「Reactのコンポーネント = JavaScriptのfunction」と覚えておくだけで、Reactコードが読み解きやすくなります。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/react-3-key-concepts-in-ai-era) ## 概念②Props(プロップス) コンポーネントを部品として使いまわせることは分かりました。 しかし「使いまわす」だけでは不十分な場面があります。 例えば「ボタン」コンポーネントを複数の場所で使いたいとき、場所によってボタンの文言が違う場合はどうすればいいのでしょうか。 --- そこで使うのが「Props」です。 Propsとは、コンポーネントに渡すデータのこと。 コードで見てみましょう。 ```js const Button = (props) => { return } ``` このButtonコンポーネントに対して、呼び出す側から次のようにPropsを渡します。 ```js ) } ``` `useState()`のカッコ内にある数字は初期値です。ここでは`0`になっています。 ボタンが押されるたびに`count`が1増えていき、それが画面に反映されます。 Stateという概念については、[「Reactのstateとは?「状態」の意味と使い方を初心者向けにやさしく解説」](/blog/what-is-state-in-react)でさらに詳しく解説しています。 Stateを理解すれば、AIにより的確な指示を出せるでしょう。 ## AIは「わかっている人」をさらに速くするツール コンポーネント、Props、State。 この3つはReactのベースとなるコンセプトです。 基礎を理解した上でAIを使うと、「このエラーはStateの問題だな」といったように「当たり」をつけて質問できるようになります。 質問の精度が上がり、AIの回答の精度も上がるのです。 AIは、分かっている人をさらに速くするツール 「AI時代でも基礎の理解は必須」ということを覚えておきましょう。 さて「基礎の理解」が大事だと分かったあとには、「Reactはどこが難しいのか」「どういう順番で理解を深めていけばいいのか」という疑問が残ると思います。 Reactでつまずくポイントを整理し、乗り越え方をまとめたガイドで、全体像をつかんでみましょう▼
![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/react-3-key-concepts-in-ai-era) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-3-key-concepts-in-ai-era) --- # React RouterやTanStackを使わないページ移動の実装方法(Code-based routing) URL: https://monotein.com/blog/react-app-routing-without-external-packages-1 公開日: 2026.2.18 更新日: 2026.4.6 概要: React + ViteでReact RouterやTanStack Routerなどのパッケージを一切使わずにページ遷移を実装する方法を徹底解説。useStateでコードベースのルーティングを自作し、カスタムLinkコンポーネントまで作れる!初心者でもわかるステップバイステップガイド ## パッケージなしでページを遷移(コードでページを設定) React(+ Vite)アプリでページ切り替え(ルーティング)を実装する時には、React RouterやTanStack Routerを使うのが一般的です。 しかしこれらを使わずともルーティングは可能なので、その簡単な方法を紹介します。 本記事では、『コードでページを切り替える方法(Code-based routing)』を説明します。 ファイルでページを切り替える方式(File-based routing)については、こちらの記事をご覧ください。 まずはReact + Viteを用意しましょう。 そして`index.css`内のコードはすべて消しておいてください。 (*React + Viteのセットアップについては[こちらの記事](https://monotein.com/blog/react-vite-how-to-use)をご覧ください) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-app-routing-without-external-packages-1) ## ページの用意 ページとして「About」、「Home」、そしてページが存在しない場合の「Not Found」のファイルを用意しましょう。 ![code-based-routing-1](../../images/singleBlogPageImages/blogArticleImages/blog227/code-based-routing-1.jpg) 各ファイルには次のように書きます。 ```js // Home.jsx const Home = () => { return (

Home

) } export default Home ``` ```js // About.jsx const About = () => { return (

About

) } export default About ``` ```js // NotFound.jsx const NotFound = () => { return (

Not Found

) } export default NotFound ``` ## ページ切り替えの仕組みの用意 `App.jsx`のコードをすべて消したら、次のように書いてください。 ```js // App.jsx const App = () => { return } export default App ``` 現在のページを保存するために、stateを用意します。 ```js // App.jsx import { useState } from "react" // 追加 const App = () => { const [path, setPath] = useState(window.location.pathname) // 追加 return } export default App ``` そして、ブラウザのURLの変更を扱う次のコードを追加しましょう。 ```js // App.jsx import { useEffect, useState } from "react" // 追加 const App = () => { const [path, setPath] = useState(window.location.pathname) // ⬇追加 const renderByUrl = () => { setPath(window.location.pathname) } useEffect(() => { window.addEventListener("popstate", renderByUrl) return () => window.removeEventListener("popstate", renderByUrl) }, []) // ⬆追加 return } export default App ``` 最後に、先ほど作ったページをURLに合わせて表示するコードを加えます。 ```js // App.jsx import { useEffect, useState } from "react" import Home from "./Home" // 追加 import About from "./About" // 追加 import NotFound from "./NotFound" // 追加 const App = () => { const [path, setPath] = useState(window.location.pathname) const renderByUrl = () => { setPath(window.location.pathname) } useEffect(() => { window.addEventListener("popstate", renderByUrl) return () => window.removeEventListener("popstate", renderByUrl) }, []) // ⬇追加 if (path === "/") return if (path === "/about") return return // ⬆追加 } export default App ``` ## Linkタグの用意 ページを移動するリンクに``タグを使い、次のように書くとします。 ```js About ``` しかしこれではページがリロードされてしまい、[SPA(Single Page Application)](https://monotein.com/blog/about-spa)の特徴である「スムーズなページ遷移」にはなりません。 なので、専用の``タグを用意しましょう。 `Link.jsx`を作ってください。 ![code-based-routing-2](../../images/singleBlogPageImages/blogArticleImages/blog227/code-based-routing-2.jpg) 次のように書きます。 ```js // Link.jsx export function Link({ to, children }) { const handleClick = (e) => { e.preventDefault() window.history.pushState({}, "", to) window.dispatchEvent(new PopStateEvent("popstate")) } return ( {children} ) } export default Link ``` ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/react-app-routing-without-external-packages-1) ``タグを各ページに読み込みましょう。 ```js // Home.jsx import Link from "./Link" // 追加 const Home = () => { return (

Home

About // 追加
) } export default Home ``` ```js // About.jsx import Link from "./Link" // 追加 const About = () => { return (

About

Home // 追加
) } export default About ``` ```js // NotFound.jsx import Link from "./Link" // 追加 const NotFound = () => { return (

Not Found

Home // 追加
) } export default NotFound ``` これで、パッケージを使わない、コードベースでのルーティングをReactに実装できました。 しかしこのようなマニュアル方式には限界もあります。 ## この実装方法の限界 ページが増えたときにコードも増えていく、動的ルートが扱いづらい、テストが書きづらいといった問題が典型的です。 そのためやはり一般的には、React RouterやTanStack Routerといったパッケージを使うことになります。 なお、もうひとつの切り替え方式である『ファイルでページを切り替える方法(File-based routing)』については、こちらの記事をご覧ください。 React + Viteの基礎から学習の全体像まで確認したい方は、こちらのガイドもどうぞ▼
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-app-routing-without-external-packages-1) --- # 生成AI時代にプログラミングを学ぶワケ URL: https://monotein.com/blog/ai-why-studying-programming 公開日: 2026.2.17 更新日: 2026.3.31 概要: AI時代にプログラミングを勉強する本当の理由。AIは指示の質次第でしかアプリを作れず、責任を取れない。React、Next.js、フロントエンド初心者が挫折しないための学習モチベーション維持法も紹介。 ## 「なぜまだプログラミングを勉強するの?」という疑問 私はビギナーにプログラミングを教えています。 生徒の多くが、次の質問を一度は抱いたことがあるようです。 【 _AIがあるのに、なぜまだプログラミングを勉強するの?_ 】 AIがまだ不完全で、適切な指示をしても期待通りのアプリが出てこないことを知っている人は、 【 _近い将来、AIはより完璧になって、プログラミングは不要になる_ 】 と考えるようです。 教える側の私としては、これをやや危ない兆候と見ています 生徒の学習するモチベーションに影響するからです。 誰も「近い将来に役立たなくなるもの」に時間とお金を投資したくありません。 しかし、そもそも前提となっている「AIでプログラミングは不要になる」というのは本当なのでしょうか。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/ai-why-studying-programming) ## 何も知らないと何もできない AIでアプリを作るには、(当然ですが)まず最初に「指示」を出す必要があります。 【 _ビジネスパートナーを探している人同士を結びつけるモバイルアプリを作って_ 】 このような文章のことです。 この指示に従ってAIはアプリを作り始めますが、この指示が不正確だったりあいまいだったりすると、出てくるモノも不正確であいまいなものになります。 人間の指示(=入力)の質に、AIからの応答(=出力)の質も左右されるのです。 しかし何も知らないと指示も出せません。 「こんなアプリを作りたい」と思っても、プログラミングの知識がないと、的確な指示や正確なプロンプトが書けないのです。 --- しかしAIの急速な発達で、人間の不正確な指示であっても、問題のないコードやアプリをAIが作れるようになったとしましょう。 これで問題は解決! .....となるのかというと、なかなかそうはならないでしょう。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/ai-why-studying-programming) ## AIは法廷に立てない 結局、AIは責任を取れないのです。 現在の社会体制のもとでは、責任を取る主体、あるいは責任を取れる主体は人間だけだからです。 そのため、「AIが法廷に立った」という話は誰も耳にしたことがありません。 もっと日常のレベルで考えてみましょう。 上司に「君のこのコードが原因で問題が発生したんだけど......」と言われたとします。 そこで、「それはAIに書かせたコードです。責めるなら僕ではなくAIを責めてください」と言えるでしょうか。 少なくとも2026年現在、これは「言い訳」とみなされます。 そしてこれは今後も長く変わらないでしょう。 責任の主体が「AI」ではなく、「AIに指示を出した人間」とされているからです。 --- AIを使うからこそ、ますます適切な指示を出すこと、そしてその前提となる「プログラミングの正しい知識と理解」が重要になってきているのです。 AIがある時代でもプログラミングの知識が必要だとわかった。では「Reactをどう学べばいいのか」「どこでつまずきやすいのか」という疑問には、こちらのガイドが答えています▼
「_AIがある時代でもプログラミングを学ぶ必要はわかった、でもどうやって?_」 こう思った人向けに、いつ、どこから、どの順番で始めればいいかを整理したロードマップを用意しました。 HTML・CSSからReact・TypeScript・Next.jsまでの学習の全体像を2026年版で解説しています▼
![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/ai-why-studying-programming) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/ai-why-studying-programming) --- # AIがコードを書ける時代、『なぜ』人間の開発者に知識が『まだ』求められているのか? URL: https://monotein.com/blog/ai-knowledge-is-necessary-for-thinking 公開日: 2026.2.16 更新日: 2026.3.31 概要: AIがあるから勉強しなくていい?その考えは危険かもしれません。フロントエンジニア視点で、AI時代にこそ求められる知識・学習・基礎力の本当の価値を解説します。React、Next.js学習者に必要なマインドセット ## 「詰め込み教育」は悪である • 知識偏重 • 暗記重視 • 画一的教育 • 詰め込み教育 • 受験第一主義 etc... これらは、昔からよく聞く日本の学校教育への批判です。 そのため「知識よりも、もっと考える力を!」ということで方向転換がなされた(なされようとしている?)わけです。 しかし、私は必ずしも詰め込み教育が悪いとは思っていません。 「考える」には最低限の「知識」が必要だからです。 「考える」よりも上位の力である「判断する」には、「知識」が必要だからです。 「知識」というのは、考えたり、判断したりするためのベース。​ 知識の少ない人は、自分の知っていることの範囲でしか課題に向かわないので思考が深化しません。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/ai-knowledge-is-necessary-for-thinking) ## イノベーションとは「編集能力」 私たちは「ゼロから何かを作る」ということはほぼありません。 すでにあるものを「変換」させたり、「融合」させたり、「修正」したりすることがほとんどです。 「イノベーション」も、その実態は「組み合わせ力」や「編集の能力」と言われます。 例えば、スマートフォンは「電話 + カメラ + インターネット」。 サブスクリプション型サービス(Netflixなど)は「レンタル + 定額制 + ストリーミング」。​ しかし、このような組み合わせを考えたり思いついたりするには、「組み合わせるもの」、つまり「既にあるもの」を最初に知っていないといけません。 この「既存のもの」とは「知識」です。 ## AI時代にこそ、エンジニアに知識が必要な理由 AIは今後、単なる「補完ツール」から「協働パートナー」へと進化します。 私たちアプリ開発者の世界では、AIと協働する時代はすでに来ています。 そこにおいて、人間の開発者がプログラミングの知識ゼロでは、協働はもとより、AIのコードの正誤も判断できません。 AIの加速度的な進化を見せられていると、AIが全てを解決してくれるかのような期待も抱いてしまいますが、まだまだ私たちがしなければならないことはたくさんあります。 何より、知識を得ることは「苦痛」ではなく「喜び」のはずです。 --- 誰でも旅行で新しい場所を訪ねるとワクワクします。 自分の世界が広がる感覚があるからです。 ◾️ 知識を得ること\ ◾️ 新しい事柄を知ること\ ◾️ 昨日できなかったことが今日はできるようになっていること これらは私たちの人生の最大の楽しみであり喜びのひとつでしょう。 AIがどれだけ発達しても、私たちが手放す理由はないのです。 さて、「Reactを学ぶ」と決めた後に直面するのが、「難しい」という壁です。 しかしその「難しさ」には共通した原因があります。 つまずくポイントと乗り越え方を体系的に整理したガイドがあるので、学習を始める前に目を通してください▼
![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/ai-knowledge-is-necessary-for-thinking) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/ai-knowledge-is-necessary-for-thinking) --- # 発売『はじめてつくるReactアプリ』第3版/AI、Reactバージョン19等 URL: https://monotein.com/blog/update-2026-react-1-book-ts-vite 公開日: 2026.2.1 更新日: 2026.5.15 概要: 2026年1月29日、『はじめてつくるReactアプリ』とTypeScript版の第3版を発売。HTMLとCSSの知識だけで始められるReact開発を、人気のハンズオン形式で解説。React 19の新情報やViteの最新バージョンに対応し、初心者にもわかりやすく進化。基礎をしっかり学びつつ、新機能も押さえられる一冊 ## *(追加情報) AI × Reactアプリ開発版リリース 2026年5月に、本記事で紹介しているReact入門書にAI開発の章を追加した新版をリリースしました。 詳しくは▼ はじめてつくるAI × Reactアプリ with TypeScript

はじめてつくるAI × Reactアプリ with TypeScript

【2026年5月発売】AIアプリをReact × TypeScriptで作れるスキルが身につく本

Amazon Amazonで見る
## React入門書の第3版リリース 2026年1月29日に、拙著『はじめてつくるReactアプリ』と、そのTypeScript版『はじめてつくるReactアプリ with TypeScript』の第3版をリリースしました。 はじめてつくるReactアプリ

はじめてつくるReactアプリ

【2026年1月第3版発売。HTMLとCSSの知識だけで始められるReact開発。好評なハンズオン形式でスイスイ進める。最新のReact 19の情報もあり。】

Amazon Amazonで見る
はじめてつくるReactアプリ with TypeScript

はじめてつくるReactアプリ with TypeScript

【発売から5年読まれ続けているReact × TypeScript入門書の決定版。2026年1月第3版発売。】

Amazon Amazonで見る
本書は電子書籍と紙の本、両方でご利用いただけます。 紙のバージョンは企業の研修等で利用されており、一度に大量の注文が来ることがあります。 ## 以前の版からの変更点 今回の第3版では、内容を2026年1月時点の最新情報に更新しました。 AIに関する記述も一部追加し、いまReactを学ぶ必要性を初心者の人が理解できるようになっています。 情報が古くなっていた記述の修正、およびコードの刷新も行ないました。 また改行も大幅に増やし、読みやすさを向上させています。 ![many-breaks.png](../../images/singleBlogPageImages/blogArticleImages/blog232/many-breaks.png) 本書はこちらのページで無料で試し読みできます。 ## 本書でReact入門に成功した後はどうするのか? 本書で紹介しているのは、React(およびTypeScript)の初歩の初歩です 本書でReact入門に成功した人にぴったりの続編も用意してあります▼ ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/update-2026-react-1-book-ts-vite) --- # AI時代にReactを学ぶ理由 【初心者こそReactが最適なワケ】 URL: https://monotein.com/blog/ai-why-react-importance-increasing 公開日: 2026.1.31 更新日: 2026.4.7 概要: AIを使ってプログラミングを学ぶ初心者が増える今、なぜReactが最重要スキルなのか?情報量・AIとの相性・2026年の開発トレンドから、その理由をわかりやすく解説します。 ## AIがReactのコードばかり提案する理由、考えたことありますか? プログラミング初心者でもAIを使う人はたくさんいます。 疑問点やエラー発生時に助けてもらう「アシスタント役」としてです。 そのAIは、インターネット上の情報を学習しています。 つまり、ネット上の情報量が多いトピックほど、より質の高い答えがAIから得られるのです。 では、フロントエンドのテクノロジーの中で「情報量がもっとも多いもの」とは何でしょうか? Reactです。 (*参考情報:「[アンソロピックのClaudeが拡大するほど儲かる企業──評価額1.5兆円「Vercel」とは何者か(Forbes Japan /2026年4月2日)](https://forbesjapan.com/articles/detail/94270)」) 加えて、Reactと密接に関連するNext.jsやTypeScriptの情報です。 なぜなら、2026年のアプリ開発シーンで、Reactが「デファクトスタンダード( =事実上の業界標準)」の地位を確立しているからです。 (2026年のフロントエンド学習のステップは、次の記事をご覧ください。) 今のReactは、もはや「フレームワーク」や「ライブラリ」の枠を超え、「アプリ開発の必須インフラ」として定着しています。 そのため、AIの応答でもReactベースのコードが頻繁に提案されるのです。 しかし、AIのコードの正誤を判断するのは私たち人間の開発者。 アプリ開発でAI利用がますます浸透する中、Reactの正確な知識と深い理解が、これまで以上に重要性を増しているのです。 --- ReactはJavaScriptフレームワークですが、実はHTML/CSSの知識だけで使い始めることができます。 とはいえ、使い始めてしばらくすると、どこかの地点で多くの人が「難しい」と感じます。 しかしその難しさは、Reactそのものではなく、前段階の理解不足から来ていることがほとんどです。 つまずきやすいポイントと乗り越え方をひとつにまとめたガイドはこちらです▼
![image](../../images/commonImg/first-study-guide.png) ● [monotein.com/present](/present?magnet=first-study-guide&from=ai-why-react-importance-increasing) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/ai-why-react-importance-increasing) --- # AI時代になって、プログラミングを学ぶ価値が下がった URL: https://monotein.com/blog/ai-programming-importance-decreasing 公開日: 2026.1.29 更新日: 2026.3.31 概要: AI時代に「プログラミングはオワコン」と言われる理由とその誤解を解説。価値が下がった能力・逆に重要になった能力、これから学ぶべき本質を初心者向けにわかりやすく説明します。 ## プログラミングはオワコン 「AI時代になって、プログラミングを学ぶ価値が下がった」 これは一昨年(2024年)ごろから特によく耳にする話です。 私の生徒(プログラミング初心者)の中にも、これで学習のモチベーションが下がってしまう人がいるようです。 しかし「 AI時代になって、プログラミングを学ぶ価値が下がった」というのは、かなり大雑把な主張で、そして誤りです。 正確には、「 AI時代になって、プログラミングで学ぶべき項目の重要度が変化した」というのが正確です。 英語学習を例にとって説明します。 ## 「読む・書く」から「聞く・話す」へ 30年ほど前、中学校や高校での英語教育が変わりました。 それまでの「読む・書く」から、「聞く・話す」という会話力やコミュニケーション重視の方向性へのシフト。 グローバル化が進展し、世界的なヒト・モノの移動が多くなることに合わせての当然の変化です。 例えば明治時代であれば、先進的なヨーロッパの知識を吸収することが重要だったので、英語の読解力がもっとも身につけるべき能力でした。 しかし時代が下り、社会が変化するのに合わせて、こちらからも情報を発信していく能動的な能力、つまり会話力がより重要になってきたのです。 しかし、このどちらであっても一つの根本的な事実は変わっていません。 「英語学習自体の重要性」です。 変わったのは、「英語で学ぶべき項目の重要度」です。 「読む・書く」という項目から「聞く・話す」という項目への変化。 プログラミングにおいてもこれは同じです。 ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/ai-programming-importance-decreasing) ## AI時代の最重要なプログラミング能力とは? 「コードが書ける」、「すばやくコードを書ける」、「ベストプラクティスに則ったコードが書ける」といった能力は価値が下がりました。 AIの方が人間よりも得意な分野だからです。 一方で「AIに適切な指示を出す力」、「正確に言語化する力」、「アプリが動く仕組みの理解」、「AIの書いたコードの正誤を判断する」、「ドメイン知識(解決すべきビジネス課題や業界特有の要件の理解)」といった能力の重要性は増しています。 そしてもうひとつ。 これまでも最重要で、そしてこれからも最重要であり続ける能力があります。 急速に変化する技術を学び続けるという「継続的な学習姿勢」です。 「_では実際にReactを学ぶ中でどこにつまずきやすく、どう乗り越えればいいのか?_」 こういった疑問を持った人は、Reactを難しく感じる具体的な原因と解決策を一本にまとめたガイドがあるので参考にしてください▼
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/ai-programming-importance-decreasing) ![image](../../images/commonImg/first-study-guide.png) • [monotein.com/present](/present?magnet=first-study-guide&from=/blog/ai-programming-importance-decreasing) --- # 【バージョン16対応】Server Actionsフルスタックアプリ開発の入門書リリース/Next.js URL: https://monotein.com/blog/new-book-release-nextjs-v16-fullstack-server-actions 公開日: 2025.11.8 概要: Next.jsとServer Actionsを使うと、フルスタックアプリを時短ですばやく開発できます。最新のNext.jsバージョン16を使って、Server Actionsの使い方をビギナー向けにわかりやすく紹介するのが「Next.js Server Actionsでつくるフルスタックアプリ(三好アキ著)」です。 ## Next.jsフルスタック開発入門書の改訂版リリース 10月21日にNext.jsの新しいバージョン16がリリースされました。 それに合わせ、Next.js入門書として好評の『[Next.js Server Actionsでつくるフルスタックアプリ](https://www.amazon.co.jp/dp/B0G144JJZT)』を改訂し、バージョン16対応版として新規リリースしました。 Next.js Server Actionsでつくるフルスタックアプリ

Next.js Server Actionsでつくるフルスタックアプリ

【2025年11月リリース。少ないコードですばやく本格的なフルスタックアプリを開発する方法を紹介】

Amazon Amazonで見る
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/new-book-release-nextjs-v16-fullstack-server-actions) ## 対象読者とカバー範囲 ビギナーを対象にしているので、JavaScriptやReact、Next.jsなどの深い知識は不要です。 Next.jsのインストール方法から、APIの開発、フロントエンドとの連携、データベース(MongoDB)のセットアップと接続、メタデータの設定、画像の保存、Vercelでのオンライン公開方法まで、Next.jsとServer Actionsを使ってフルスタックアプリを作るときに必要な基礎知識を短時間で習得可能です。 ReactサーバーコンポーネントとReactバージョン19についても触れています。 ## 本書の特徴 本書はServer Actionsを使ったフルスタックアプリ開発を解説する本ですが、そもそもServer Actionsにはどのようなメリットがあるのでしょうか。 従来のフルスタックアプリ開発では、バックエンドとフロントエンドを分離させて開発するのが一般的でした。 バックエンドとして下図のようなデータ供給層を作り、これをフロントエンドで取得して表示するという流れです。 • バックエンドのデータ\ ![image](../../images/singleBlogPageImages/blogArticleImages/blog157/api-example.jpg) • フロントエンドで取得して表示\ ![image](../../images/singleBlogPageImages/blogArticleImages/blog157/toppage.jpg) しかしServer Actionsを使うと、バックエンドをあえて開発しなくとも、フルスタックアプリ開発が可能です。 結果としてコード量が減り、開発にかかる時間も大幅に短縮できるのがServer Actionsのメリットです。 本書はそのようなServer Actionsの使い方を初心者向けに解説する本です。 アプリを自分の手で作り上げながら進める、いつも通りのハンズオン形式になっています。 ## 姉妹書について 本書には姉妹書があります。 Next.jsでつくるフルスタックアプリ 前編(バックエンド開発)with Supabase

Next.jsでつくるフルスタックアプリ 前編(バックエンド開発)with Supabase

【2025年10月リリース。最新のNext.jsをつかった本格アプリの開発手法がわかる入門書】

Amazon Amazonで見る
Next.jsでつくるフルスタックアプリ 後編(フロントエンド開発)with Supabase

Next.jsでつくるフルスタックアプリ 後編(フロントエンド開発)with Supabase

【2025年10月リリース。最新のNext.jsをつかった本格アプリの開発手法がわかる入門書】

Amazon Amazonで見る
これらの本では、Next.jsのバックエンドをフロントエンドから分けて開発する方法を採用しています(Route Handlersを使用)。 そのため、本書と姉妹書を合わせて読むことで、Next.jsについての理解と経験がより深まります。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/new-book-release-nextjs-v16-fullstack-server-actions) --- # 【バージョン16対応】『Next.jsでつくるフルスタックアプリ(with Supabase)』リリース URL: https://monotein.com/blog/new-book-release-nextjs-v16-fullstack-supabase 公開日: 2025.10.31 概要: Next.js 16対応の最新入門書が登場!Supabaseを使ったフルスタックアプリ開発を実践形式で解説。初心者でもAPI・データベース連携からVercel公開まで短時間で習得できます。三好アキ著。 ## Next.jsフルスタック開発入門書の改訂版リリース 先日10月21日にNext.jsの新しいバージョン16がリリースされました。 それに合わせ、Next.js入門書として好評の『[Next.jsでつくるフルスタックアプリ 前編・後編(Supabase版)](https://www.amazon.co.jp/dp/B0DTFMZRKZ)』を改訂し、バージョン16対応版として新規リリースしました。 Next.jsでつくるフルスタックアプリ 前編(バックエンド開発)with Supabase

Next.jsでつくるフルスタックアプリ 前編(バックエンド開発)with Supabase

【最新のNext.jsバージョン16をつかった本格アプリの開発手法がわかる入門書。Route Handlers使用】

Amazon Amazonで見る
Next.jsでつくるフルスタックアプリ 後編(フロントエンド開発)with Supabase

Next.jsでつくるフルスタックアプリ 後編(フロントエンド開発)with Supabase

【最新のNext.jsバージョン16をつかった本格アプリの開発手法がわかる入門書。Route Handlers使用】

Amazon Amazonで見る
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/new-book-release-nextjs-v16-fullstack-supabase) ## 対象読者とカバー範囲 ビギナーを対象にしているので、JavaScriptやReact、Next.jsなどの深い知識は不要です。 Next.jsのインストール方法から、APIの開発、フロントエンドとの連携、データベース(Supabase)のセットアップと接続、メタデータの設定、画像の保存、Vercelでのオンライン公開方法まで、Next.jsでフルスタックアプリを作るときに必要な基礎知識を短時間で習得可能です。 ReactサーバーコンポーネントとReactバージョン19の使い方についても触れています。 ## 姉妹書について 本書には姉妹書があります。 Next.js Server Actionsでつくるフルスタックアプリ

Next.js Server Actionsでつくるフルスタックアプリ

【2025年11月リリース。少ないコードですばやく本格的なフルスタックアプリを開発する方法を紹介】

Amazon Amazonで見る
同一のフルスタックアプリを、今回の『Next.jsでつくるフルスタックアプリ(前編・後編)』ではRoute Handlersを使って、上記の姉妹書ではServer Actionsを使って開発しています。 そのためこの姉妹書と本書を合わせて読むことで、開発したいアプリにより適した設計手法を理解・選択できるようになります。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/new-book-release-nextjs-v16-fullstack-supabase) --- # Next.jsバージョン16に対応する追加情報の公開 URL: https://monotein.com/blog/nextjs-books-additional-info-on-nextjs-v16 公開日: 2025.10.23 概要: Next.jsバージョン16対応の最新情報を追加公開しました。「動かして学ぶ!Next.js/React開発入門(翔泳社/三好アキ著)」や「Next.jsでつくるフルスタックアプリ」の読者向けにコード差分や注意点を解説しています。 ## 【書籍向け】Next.jsバージョン16対応情報の追加 私はこれまでに数冊、Next.jsに関する本を出しています。 • [動かして学ぶ!Next.js/React開発入門(翔泳社/2024)](https://www.shoeisha.co.jp/book/detail/9784798184678) • [Next.jsでつくるフルスタックアプリ(前編・後編 MongoDB版/2024)](https://www.amazon.co.jp/dp/B0DRHF4KGM) • [Next.jsでつくるフルスタックアプリ(前編・後編 Supabase版/2025)](https://www.amazon.co.jp/dp/B0DTFMZRKZ) これらの本ではNext.jsバージョン14あるいは15を使っています。 しかし、2025年10月21日にNext.jsバージョン16がリリースされたため、これらの書籍の解説の通りには進められない箇所が複数あります。 そのため、最新のNext.jsバージョン16に対応させるための追加情報を公開しました。 各書籍のリンク一覧ページに、Next.js 16対応の追加情報ページへのリンクを掲載しています。ぜひ参考にしてください。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/nextjs-books-additional-info-on-nextjs-v16) --- # 【React新機能】useEffectEventをビギナー向けにやさしく解説 URL: https://monotein.com/blog/react-v19-2-use-effect-event 公開日: 2025.10.9 更新日: 2026.4.7 概要: React 19.2で追加された「useEffectEvent」をビギナー向けに紹介。React + Viteをベースに、実際にコードで動きを見ながら進むハンズオン形式。従来からあるuseEffectの問題点から解説するので、useEffectEventの具体的なメリット(依存配列の簡素化、新しいstateの参照、ロジックの分離)がスッキリわかる。React 19以降を学ぶ全エンジニア必読の内容。 ## React 19.2新機能【 useEffectEvent 】 2025年10月1日にリリースされたReactバージョン19.2から、`useEffectEvent`が使えるようになりました。 名前が`useEffect`とよく似ています。 これは`useEffectEvent`が、`useEffect`の抱える問題点を解決するものとして作られたからです。 `useEffectEvent`の機能を一言でいうと、「最新のprops/stateを参照できる」です。 ここから次の3つの具体的なメリットが出てきます。 --- • 依存配列の削減 • 不要なレンダリングの抑制 • ロジックの分離 --- 本記事では、最初に`useEffect`の問題点を確認し、次に`useEffectEvent`を使うメリットを実際にコードで紹介していきます。 Reactビギナー 〜 中級者向けの内容なので、事前知識は不要です。 なお、Reactバージョン19.2で導入された``については、下記記事をご覧ください。
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-v19-2-use-effect-event) ## useEffectの問題点(簡単な説明) `useEffect`のコードの構造を見てみましょう。 ```js useEffect(() => { 実行したい処理 }, []) // ←依存配列 ``` 依存配列には、`useEffect`内で参照する`state`や`props`を入れます。 なぜ入れる必要があるかというと、`useEffect`内部に置かれた処理において、最新の`state`や`props`の値を利用できるようにするためです。 そのため、依存配列の中の値のどれか一つにでも変化があると、`useEffect`が実行されます。 --- しかし、依存配列内の`state`や`props`が変化しても`useEffect`の実行は不要、というケースもあります。 不要な`useEffect`の動きを抑制する一番簡単な方法は、「依存配列から`state`や`props`を取り除く」です。 確かにこれで不要な`useEffect`の実行は回避できますが、その一方で、`useEffect`内に置かれた処理で最新のデータを参照できず、古いデータが使われ続けることになります。 とはいえ、このように言葉で説明していてもわかりづらいので、この点をコードで実際に確認してみましょう。 その中で`useEffectEvent`を使うメリットが見えてきます。 まずはReact + Viteのセットアップです([こちらの記事](/blog/react-vite-how-to-use)でも紹介しています)。 ## 準備(React + Vite) まずReact開発のひな形ツール「React + Vite」を用意します(今回使うのはJSです。TS版はこちら)。 ターミナルで次のコマンドを実行してください。 ```shell npm create vite@latest ``` 質問がいくつか出てくるので、次のように答えてください。 ```shell Project name: │ react-useeffectevent │ ◇ Select a framework: │ React │ ◇ Select a variant: │ JavaScript │ ◇ Use rolldown-vite (Experimental)?: │ No │ ◇ Install with npm and start now? │ No ``` インストールが完了したら、VS Codeでフォルダを開きましょう。 最初に必要なパッケージをインストールします。 下記コマンドをターミナルに打ち、インストールを実行しましょう。 ```shell npm install ``` 次に不要なファイルとコードを消します。 `src`フォルダ内の`App.css`は削除しましょう。 次に`App.jsx`と`index.css`内のコードをすべて消してください。 変更を保存したら、下記コマンドでReact + Viteを起動しましょう。 ```shell npm run dev ``` これで準備は完了です。 React 19.2の新機能`useEffectEvent`を見ていきましょう。 ## useEffectの問題を実際に確認 まずは従来からある`useEffect`の動きを見て、問題を確認していきます。 `App.jsx`に次のコードを書いてください。 「ボタンを押す度に`count`stateが一つずつ増えていく」というだけのコードです。 保存したら、ブラウザで動きを確認してみてください。 ```js // App.jsx import { useState } from "react" const App = () => { const [count, setCount] = useState(0) return (

カウント数: {count}

) } export default App ``` 次はここに`useEffect`を書き足しましょう。 下記コードを追加してください。 ```js // App.jsx import { useEffect, useState } from "react" // 追加 const App = () => { const [count, setCount] = useState(0) // ▼追加 useEffect(() => { console.log("useEffectが実行されました") const timer = setTimeout(() => { alert(`現在のカウント数は ${count} です`) }, 5000) return () => clearTimeout(timer) }, []) // ▲追加 return (

カウント数: {count}

) } export default App ``` いま書いたコードを解説します。 `useEffect`の最後を見てください。 カラの依存配列(`[]`)があるので、この`useEffect`は初回レンダリング時に一回だけ実行されるとわかります。 そこで行われる処理は次の2つです。 --- • `console.log()` ▶︎ `useEffect`の動きを確認するため • `alert()` ▶︎ カウント数を表示する --- なお`alert()`は、`setTimeout()`で挟まれています。 `setTimeout()`の働きは遅延を引き起こすことです。 そのため、初回レンダリングから5秒後に`alert()`が実行されることになります。 そして最後の`clearTimeout()`はクリーンアップ(後片付け)のためです(これがないと`setTimeout()`が意図通りに動かないことがあります)。 ブラウザで動きを確認してみましょう。 保存をしたらブラウザを開いてください。
![image](../../images/singleBlogPageImages/blogArticleImages/blog218/pic1.jpg)
5秒経つと`alert()`が表示されます。
![image](../../images/singleBlogPageImages/blogArticleImages/blog218/pic2.jpg)
次は、リロード(command + R)をしてください。 そして「+ボタン」を数回押しましょう。 5秒経つと再び`alert()`が表示されます。
![image](../../images/singleBlogPageImages/blogArticleImages/blog218/pic3.jpg)
しかしここで、少しおかしなことに気がつきます。 カウント数は上がっているのに、`alert()`上の数は0のままなのです。
![image](../../images/singleBlogPageImages/blogArticleImages/blog218/pic4.jpg)
理由を説明します。 これは依存配列がカラで、`useEffect`が初回レンダリング時にしか動いていないためです。 つまり、ボタンが押されて数が増えた`count`stateではなく、初回レンダリング時点の`0`の`count`state、つまり「古い`state`」が参照されているのです。 この解決法は、「`count`stateが増える度に`useEffect`を実行する」となります。 そうすれば最新の`count`stateを参照できるでしょう。 `count`を依存配列に加えてください。 ```js // App.jsx import { useEffect, useState } from "react" const App = () => { const [count, setCount] = useState(0) useEffect(() => { console.log("useEffectが実行されました") const timer = setTimeout(() => { alert(`現在のカウント数は ${count} です`) }, 5000) return () => clearTimeout(timer) }, [count]) // 追加 return (

カウント数: {count}

) } export default App ``` 変更を保存してブラウザを開いたら、「+ボタン」を数回押してください。 最後の押下から5秒経つと`alert()`が表示されます。 今回の数はカウント数と同じです。
![image](../../images/singleBlogPageImages/blogArticleImages/blog218/pic5.jpg)
ここで注目して欲しいのは、`alert()`の実行が「最後のボタン押下から5秒後」という点です。 これは`useEffect`が、ボタン押下の度に実行されていることに由来します。 確認してみましょう。 開発者ツールから「console」を開いてください。 リロード(command + R)をしたら、ボタンを数回押しましょう。 すると次のように表示が出て、ボタン押下の度に`useEffect`が動いているのがわかります。
![image](../../images/singleBlogPageImages/blogArticleImages/blog218/pic6.jpg)
しかし、このように毎回`useEffect`が実行されることはブラウザの負荷を高めます。 さらに`useEffect`が毎回実行されることによって、`alert()`の表示も「最後のボタン押下から5秒後」となってしまっています。 依存配列に`count`を加えた理由を思い出してください。 最新の`count`stateを参照するためです。 `count`stateの最新状態を取得できるのであれば、`useEffect`は毎回実行されなくていいのです。 ここで使うのが、本記事のメインテーマ`useEffectEvent`になります。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-v19-2-use-effect-event) ## useEffectEventで問題を解決する まずは`alert()`の部分を`useEffect`外部に切り出しましょう。 `App.jsx`のコードを次のように変更してください。 `alert()`を`showAlert`というfunctionの中に移しただけなので、動きは先ほどと同じです。 ```js // App.jsx import { useEffect, useState } from "react" const App = () => { const [count, setCount] = useState(0) const showAlert = () => { alert(`現在のカウント数は ${count} です`) } useEffect(() => { console.log("useEffectが実行されました") const timer = setTimeout(() => { showAlert() }, 5000) return () => clearTimeout(timer) }, [count]) return (

カウント数: {count}

) } export default App ``` 保存をしたらブラウザを見てください。 先ほども確認した次の2つのことがわかります。 --- • `alert()`の実行は最後のボタン押下から5秒後 • ボタン押下の度に`useEffect`が実行 --- ここで`useEffectEvent`を使いましょう。 次のように加えてください。 ```js // App.jsx import { useEffect, useState, useEffectEvent } from "react" // 追加 const App = () => { const [count, setCount] = useState(0) const showAlert = useEffectEvent(() => { // 追加 alert(`現在のカウント数は ${count} です`) }) // 追加 useEffect(() => { console.log("useEffectが実行されました") const timer = setTimeout(() => { showAlert() }, 5000) return () => clearTimeout(timer) }, []) // 削除 return (

カウント数: {count}

) } export default App ``` 依存配列から`count`stateを消すのを忘れないようにしましょう。 保存したら、ブラウザで動きを確認してください。 注目して欲しいのは3点で、`alert()`の実行タイミング、`alert()`上のカウント数、そして「console」です。
![image](../../images/singleBlogPageImages/blogArticleImages/blog218/pic7.jpg)
`useEffect`は初回レンダリング時にしか動いていないにもかかわらず、正しいカウント数が`alert()`に表示されているのがわかります。 さらに`alert()`の実行タイミングも、「最後のボタン押下から5秒後」ではなく「初回レンダリングから5秒後」になっています。 `useEffectEvent`を使うことで、`useEffect`を毎回実行させることなく、最新の`count`stateを参照できるようになったのです。 さらに、ロジック部分を切り出したので、コードの見通しがよくなったこともボーナス的なメリットとして挙げられます。 --- `useEffectEvent`を使うことで、依存配列の管理が楽になり、`useEffect`の不要な再実行を抑えることができます。 さらに処理の具体的な中身(WHAT to do)と、その処理の実行タイミング(WHEN to do)を分離できます。 なお、Reactバージョン19.2で追加されたもう一つの目玉機能``もこちらの記事で紹介しているので、確認してください。 この``と`useEffectState`を含め、RSCの仕組み・useActionState・useOptimisticといったReact 19の全体像を一本でまとめたガイドがあります。 全体像を理解するのに役立ててください▼
`useEffectEvent`はNext.jsでも活用できる機能です。 Next.jsのセットアップからRSC・Server Actionsまで体系的に整理したガイドはこちらです▼
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-v19-2-use-effect-event) --- # 【React新機能】の2つの使い方を実例でわかりやすく紹介 URL: https://monotein.com/blog/react-v19-2-activity 公開日: 2025.10.6 更新日: 2026.4.7 概要: React 19.2の新機能を初心者向けにわかりやすく解説。データやstateの保持、事前フェッチの方法、React最新バージョンの重要ポイントを実例で紹介します。React + Vite使用。 ## React 19.2について 2025年10月1日に、Reactバージョン19のマイナーアップデート版19.2がリリースされました。 マイナーアップデートとはいえ、新機能がいくつも追加されています。 その中でもReactビギナー 〜 中級者に関係するのが``と`useEffectEvent`です。 これから目にする機会が増えるコードになるでしょう。 本記事では``を紹介していきます。 実際の動きを自分で確認しながら進めるとわかりやすいので、まずはReact + Viteのセットアップから始めましょう。 なお、`useEffectEvent`については下記記事をご覧ください。
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-v19-2-activity) ## 準備(React + Vite) まずReact開発のひな形ツール「React + Vite」を用意します(今回使うのはJSです。TS版はこちら)。 ターミナルで次のコマンドを実行してください。 ```shell npm create vite@latest ``` 質問がいくつか出てくるので、次のように答えてください。 ```shell Project name: │ react-activity │ ◇ Select a framework: │ React │ ◇ Select a variant: │ JavaScript │ ◇ Use rolldown-vite (Experimental)?: │ No │ ◇ Install with npm and start now? │ No ``` インストールが完了したら、VS Codeでフォルダを開きましょう。 最初に必要なパッケージをインストールします。 下記コマンドをターミナルに打ち、インストールを実行しましょう。 ```shell npm install ``` 次に不要なファイルとコードを消します。 `src`フォルダ内の`App.css`は削除しましょう。 次に`App.jsx`と`index.css`内のコードをすべて消してください。 変更を保存したら、下記コマンドでReact + Viteを起動しましょう。 ```shell npm run dev ``` これで準備は完了です。 React 19.2の新機能``を見ていきましょう。 ## Activityの2つの使い方 ``は次の2つの場面で使えます。 --- 1:データや状態を維持したい時 2:データを事前取得したい時 --- まずは「データや状態を維持したい時」から紹介します。 ## Activity使用例①(データや状態を維持したい時) `src`フォルダ内に`Form.jsx`を作ります
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic1.jpg)
そして下記コードを貼り付けてください。 ```js // Form.jsx import { useState } from "react" const Form = () => { const [message, setMessage] = useState("") return (
setMessage(e.target.value)}/> {message}
) } export default Form ``` ``タグと``タグの横には`message`stateがあるため、入力された文字も表示されています。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic2.jpg)
次に、「Formを表示」ボタンを押して`Form`コンポーネントを消してください。 その後、再び「Formを表示」ボタンを押してください。次のように`Form`コンポーネントが表示されます。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic3.jpg)
意図通りの動きです。 しかし入力したデータ、および`message`stateは消えてしまっています。 これはなぜかというと、条件式で表示を切り替えると、そのHTML要素自体が削除されてしまうからです。 実際に確認してみましょう。 ブラウザの開発者ツールを開き、「Formを表示」ボタンを何回か押してみましょう。 ▼ Form非表示時
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic4.jpg)
▼ Form表示時
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic5.jpg)
上図の赤矢印が指している`
`タグが、現れたり消えたりしているのがわかります。 入力したデータやstateが消えてしまうのは、``タグ自体が削除されてしまうからです。 しかし、入力したデータを保持した方がユーザー体験はよくなります。 ここで使うのが``です。 `App.jsx`を次のように変更してください。 ```js // App.jsx import { useState, Activity } from "react" // 追加 import Form from "./Form" const App = () => { const [show, setShow] = useState(false) return ( <>

トップページ

{show && } // 削除 // ▼追加 // ▲追加 ) } export default App ``` 変更を保存したらブラウザを開きましょう。 そして「Formを表示」ボタンを押して入力フォームを表示させたら、適当な文字を打ち、「すいか」を選びましょう。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic2.jpg)
次に「Formを表示」ボタンを押し、`Form`コンポーネントを消してください。 ここまでは先ほどと同じです。 さて、「Formを表示」ボタンを押してください。`Form`コンポーネントが表示されます。 注目して欲しいのは、入力したデータがそのまま残っていることです。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic2.jpg)
従来の条件式での表示切り替えではデータが消えてしまいましたが、``を使うとデータが維持されるのです。 なぜこのようになるのか、開発者ツールで確認してみましょう。 まず`Form`コンポーネント表示時は次のようになっています。``タグが確認できます。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic6.jpg)
次は「Formを表示」ボタンを押し、`Form`コンポーネントを消しましょう。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic7.jpg)
条件式を使っていた時は``タグ自体が消えていましたが、今回は残っています。 そして`display: none !important;`というCSSが追加されています。 このように``では、HTMLタグ自体を消してしまうのではなく、`display: none`を使い、タグは残したまま表示だけを見えなくしているのです。 そのため、ユーザーが入力したデータやstateの状態は維持されます。 ``のこのような機能を使うと、データを事前に取得しておくことも可能です。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-v19-2-activity) 次はデータの事前取得を見てみましょう。 ## Activity使用例②(データを事前取得したい時) `src`フォルダ内に`Post.jsx`を作ってください。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic8.jpg)
このコンポーネントでは、ダミーのブログデータを取得して表示させます。 (*ここではReactバージョン19で導入された`use`を使っていますが、`use`の使い方はわからなくても大丈夫です。「`Post.jsx`でしていることはデータの取得・表示」と考えて、先に進んでください。) ```js // Post.jsx import { use } from "react" const postsPromise = fetch("https://jsonplaceholder.typicode.com/posts?_limit=10") .then(response => response.json()) const Post = () => { const data = use(postsPromise) console.log(data) return (
    {data?.map(post =>
  • {post.title}
  • )}
) } export default Post ``` これを`App.jsx`で表示させましょう。次のように変更してください(`use`使用コンポーネントは``で挟む必要があります)。 ```js // App.jsx import { useState, Activity } from "react" import Form from "./Form" // 削除 import Post from "./Post" // 追加 const App = () => { const [show, setShow] = useState(false) return ( <>

トップページ

// ▼文言を変更 // ▼追加 データ取得中...

}> {show && }
// ▲追加 // ▼削除 // ▲削除 ) } export default App ``` 変更を保存したらブラウザを開きましょう。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic9.jpg)
「データを表示」ボタンを押すと、「データ取得中...」と表示された後、ダミーデータが表示されます。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic10.jpg)
ここまでは従来通りの動きです。 しかし、もしここで「データを表示」ボタンを押す前からデータを取得できていればユーザー体験はよくなります。 「データ取得中...」と表示させて、ユーザーを待たせる必要がなくなるのです。 ここで使うのが``ですが、その前に現在のコードにおけるデータ取得のタイミングを確認しておきましょう。 開発者ツールの「Console」を開き、リロード(command + R)しましょう。初期状態では次のようになっています。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic11.jpg)
そして「データを表示」ボタンを押すと、データが取得されて「Console」にも表示されます(`Post.jsx`の8行目に`console.log()`があります)。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic12.jpg)
「ボタンが押されてデータ取得」という従来通りの流れになっているのがわかります。 次は``を使います。 次のように`App.jsx`を書き換えてください。 ```js // App.jsx import { useState, Activity, Suspense } from "react" import Post from "./Post" const App = () => { const [show, setShow] = useState(false) return ( <>

トップページ

データ取得中...

}> {show && } // 削除 // ▼追加 // ▲追加
) } export default App ``` 変更を保存してブラウザを開いたら、「データを表示」ボタンを押しましょう。 すると「データ取得中...」の表示はなく、すぐにデータが表示されます。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic10.jpg)
これはデータを事前取得しているためで、この方がユーザー体験ははるかによくなります。 では、どのタイミングでデータを取得しているのでしょうか。 「Console」を開いてください。そしてリロード(command + R)します。 すると、「データを表示」ボタンを押さずとも、データの取得がバックグラウンドで行われているのがわかります。
![image](../../images/singleBlogPageImages/blogArticleImages/blog217/pic13.jpg)
このためデータを直ちに表示できるのです。 --- 本記事ではReactバージョン19.2で導入された``を紹介してきました。 これまでのReact開発では、「データの維持」や「データの事前取得」といったユーザー体験の改善を実現するには、コードを余分に書く必要がありました。 しかし``を使うと、これを簡潔に済ませられるようになっています。 なお、Reactバージョン19.2で追加されたもう一つの目玉機能`useEffectState`もこちらの記事で紹介しているので、確認してください。 この`useEffectState`と``を含め、RSCの仕組み・useActionState・useOptimisticといったReact 19の全体像を一本でまとめたガイドがあります。 全体像を理解するのに役立ててください▼
``はNext.jsでも活用できる機能です。 Next.jsのセットアップからRSC・Server Actionsまで体系的に整理したガイドはこちらです▼
![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/react-v19-2-activity) --- # AIが浸透する中、開発現場で起きている意外なこと URL: https://monotein.com/blog/ai-leads-developers-learning-fundamentals 公開日: 2025.9.1 更新日: 2026.5.28 概要: AIを使っても、開発者側の理解不足・知識不足で開発スピードが落ちる現象。AI活用が進む開発現場で再評価されるのはプログラミングの基礎力です。詳しく紹介します。 ## 基礎分野の学習の再評価 ウェブアプリの開発現場でも、AIの活用場面が広がっています。 そのような中で起きている興味深い現象。 それは「基礎分野の学習の再評価」です。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/ai-leads-developers-learning-fundamentals) ## AIが人間に気づかせたこと AIを使えば、コードは自動で生成されます。 最適なコードを提案もしてくれます。 しかしこの結果、次のようなことが起きるようになりました。 「*人間のエンジニアが、AIの書いたコードを理解できない*」 当然ですが、提案されたコードを実際に使うかどうかを決定する責任は、人間のエンジニア側にあります。 そして「Yes」「No」を言うためには、そのコードの働きを理解している必要があります。 ここで多くのエンジニアが、「意外にも分かっていないことが多かった」「知らないことばかりだった」と気付かされているのです。 特に基礎分野(アルゴリズム、データ構造、アーキテクチャ、セキュリティなど)の勉強を促す動きが起きています。 --- AIで開発速度が必ずしも上がるわけではありません。 開発者側の理解不足・知識不足で開発スピードが落ちることも、実は多く起きているのです。 ## AIで学習意欲が上がった 世間では「AIによってエンジニアが不要になる」と声高に言われているので、学習意欲は低下傾向にある印象を受けてしまいます。 また、AIを使って悪い意味で「手抜き」をする開発者も少なくありません。 しかし、自分のスキル不足をAIで補おうとすることは、結局本人の首を絞めることになります。 自分が書いたコード、自分が作ったアプリケーションに責任を持てないからです。 ある程度の経験、そして良心のある開発者は、AI活用場面が広がってラクに出来ることが増えているまさに今、学習の必要性を再認識しています。 逆説的ですが、AIが人間の学習意欲を高めているのです。 学習意欲が高まったら、次のステップは「何から・どう学べばいいか」を理解することです。 Reactでビギナーがつまずく原因は共通しており、それを知っておくだけで学習の質は大きく変わります。 原因と乗り越え方をまとめたガイドはこちらです▼
(*[Githubのブログ](https://github.blog/developer-skills/career-growth/why-developer-expertise-matters-more-than-ever-in-the-age-of-ai)等でも、本記事と同様のことが言及されています) ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/ai-leads-developers-learning-fundamentals) --- # はじめてのウェブサイトを作ってみよう(無料オンライン公開方法まで解説) URL: https://monotein.com/blog/making-the-first-website-and-deploy 公開日: 2025.8.22 更新日: 2026.7.10 概要: 超初心者必見。HTMLとCSSの知識ゼロから始めて、初めてのウェブサイトを作成・公開する方法をステップバイステップで徹底解説。ウェブの仕組みを理解し、シンプルなHTMLファイルを作り、Netlifyで無料オンライン公開まで。費用ゼロで誰でも簡単にウェブ開発の基礎をマスター。ReactやNext.jsへのステップアップの基盤にも最適。 ## ウェブサイトは実は単純 本記事では、「完全ビギナー」を対象に、はじめてのウェブサイトの作り方から、オンライン上での公開方法までを紹介します。 本記事を最後まで読めば、「ウェブサイト」というものが実はとても単純で、自分でも作れてしまうのがわかるでしょう。 完全ビギナー対象なので、前提知識は不要です。 無料サービスを使うので、費用はゼロ円です。 --- 本記事ではGoogleクロームをブラウザに使います。 下記リンクからダウンロードしてください。 • [google.com/intl/ja/chrome](https://www.google.com/intl/ja/chrome) なお本記事ではMacを使っています。Windowsの方は一部表示が異なることに注意してください。 ![image](../../images/commonImg/react-ts-master-video-square-ad-click.jpg) ⚫︎ [monotein.base.shop/p/00005](https://monotein.base.shop/p/00005/?utm_source=/blog/making-the-first-website-and-deploy) ## ウェブサイトの材料を確認しよう 最初に、私たちが日常的に見ているウェブサイトとは、一体何から作られているのかを確認しましょう。 下記URLを開いてください。 • [nextbook-fullstack-app-folder.vercel.app](https://nextbook-fullstack-app-folder.vercel.app) これは私が作った仮のウェブサイトです。 メルカリのような物販のウェブサイトと考えてください。
![image](../../images/singleBlogPageImages/blogArticleImages/blog215/top-page.jpg)
画面上で右クリックをすると、下記画面のように表示が出ます(画像では英語表示になっていますが、「検証(Inspect)」という項目を選んでください。)
![image](../../images/singleBlogPageImages/blogArticleImages/blog215/inspect.jpg)
するとブラウザの右側に、次のような画面が表示されます。
![image](../../images/singleBlogPageImages/blogArticleImages/blog215/console-1.jpg)
表示されていない場合は、上部の「Elements」が選択されているかを確認してください。
![image](../../images/singleBlogPageImages/blogArticleImages/blog215/console-2.jpg)
さて、この部分には英語で色々と書かれてあります。 ``、``、`