4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Reactを難しく感じる理由と、その解決法【前編】

4
Last updated at Posted at 2026-05-19

Reactの第一印象は「簡単」

Reactを一度でも触った人は、「Reactって思ってたほどは難しくないな」と感じる人が多いようです。

その理由は下記コードのように、Reactのreturn内はほとんどHTMLと同じように書けてしまうからです。

const App = () => {
    return (
        <div>
            <h1>こんにちは</h1>
        </div>
    )
}

export default App

return以下のコードを取り出してみましょう。

<div>
    <h1>こんにちは</h1>
</div>

これだけ見ればHTMLとまったく同じです。

index.htmlにコピペしたら機能します。

CSSを書くときも、HTMLのclassがReactではclassNameになるだけで、他はまったく同じです。

// HTMLの場合
<div class="container">

// Reactの場合
<div className="container">

「Reactは難しい」と思っている人の多くは、実はまだReactを触っていない人たちです。

一度でもReactを触れば「自分にもできそうだ」と思えるでしょう。

しかしそうやってReact入門が無事成功したあとに待っているのが、「やっぱりReactは難しい」というハードルです。

どういうことでしょうか?

やっぱりReactは難しい

実は私も、使い始めの時は「Reactって意外に簡単だな」と思ったものの、「いや、やっぱり難しい……」と意見を変えた人間です。

この理由は「JavaScriptの理解が足りてない」というありがちなものでした。

ReactはJavaScriptをベースに作られているので、その基礎部分の知識がないとすぐに壁にぶつかってしまうのです。

なので私はJavaScriptにもどって勉強をしました。

その中で気がついた「Reactを理解する上でもっとも足りていなかったJavaScriptの知識」、逆からいうと「Reactを構成するもっとも重要なJavaScriptの項目」は次の2つです。


  • function(コンポーネント)の記法
  • イベントの記法

Reactをマスターする方法

HTML/CSSでもそうですが、同じ結果を得るための方法は一つではなく複数あります。

たとえばCSSを適用するときには、style.cssと別ファイルに書く方法もあれば、<div style="color: red;">のようにインラインで書く方法もあります。

これはReactでも同じです。

たとえばReactコンポーネントの下記2つは、記法が違っていても働きは同じです。

// 書き方 1
const App = () => {
    return(
        ...

// 書き方 2
function App(){
    return(
        ...

しかし、「書き方(記法)が違うだけで、働きや結果は同じなんだ」ということを知らないと、自分の書くコードに自信が持てません。

「なんとなく」の感覚では書けても、本当にそれが正しいのかという確信を得られないからです。

本記事はここで一旦終わりにしますが、本記事の後編では上記の「functionの記法」と「イベントの記法」について紹介します ▼

monotein.com/blog/why-react-is-difficult-to-learn-2

この2つが分かれば、Reactに感じる難しさはグッと減ります。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?