0
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?

More than 3 years have passed since last update.

React(JSXの基礎知識) とらゼミ02 メモ

Last updated at Posted at 2021-05-22

#JSX

  • javascriptの拡張言語である。
  • Facebookが開発。
  • Reactの業界標準である。

何故使うのか?

const fuga = "<h1>Hello world</h1>";
const start ="こんにちは";
const foo = "<p>世界</p>"
document.getElementById("hoge").innerHTML = huga;
document.getElementById("point").innerText = start;
document.getElementById("wd").innerHTML = foo; 

このように量が増えるととても見にくい = 可読性が落ちる。
可読性を下げないためにもHTMLのように記述出来た方が良い。

トランスパイラ

JSXはjsではないのでブラウザは理解できない、なのでJSXの記述を「変換」する必要がある、
これをトランスパイラと呼ぶ。TypeScriptなどもトランスパイラしてjsに置き換えている。
JSXではなくReactのまま書こうとすると、

React.createElement(
    "h1",
    null, //引数
    "Hello World"
)

スコシ分かりにくくなるが実際はこう書かれている。

jsの基礎文法

Reactパッケージのインストールが必要(方法はとらゼミ03で記述)。

// jsx内ファイルの先頭
import React from "react"

HTMLとほぼ同じ記述方法だが、classはclassNameと記述する。

let hoge = "hoge"
const App = () => { //Appはコンポーネント。
    return(
        <div className = {hoge} >
            <h1>Hello World!!</h1>
        </div>
    )
}

{}内に変数や関数を埋め込める、{}内はJSの世界。

let hoge = "hoge"
const hello = "<h1>Hello World!!</h1>"
const App = () => { //Appはコンポーネント。
    return(
        <div className = {hoge} >
            {hello}
        </div>
    )
}

変数名は全てキャメルケースで書く、ケバブケースはNG。

  • キャメルケース : ラクダのコブ、単語の小文字と大文字の組み合わせ(fooBar等)。
  • ケバブケース : ハイフン繋ぎのやつ(foo-bar等)。
0
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
0
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?