Reactを自分なりにまとめてみた①
初めての投稿です。
Reactの復習用メモとして残します。
まず前提としてReactはJavascriptのライブラリなので、Javascriptの最低限の理解が必要というのは言うまでもないことなのですが、他の言語をやったことがある方でしたら、入りやすいのかなと思います。
Javascriptを完璧にやってからReactをやるというのも良いと思いますが、ES6の記法をさらってReactを触り始めてもいいんじゃないかなって思います。
ここで重要なのは、分かんないのはJavascriptなのかReactなのかを明確にする必要があるということです。
最初ということでJSXについての記述がほとんどになりますのでご存知のかたは②にお進み下さい。
const element = <h1>Hello, world!</h1>;
この構文はJSXと呼ばれるJavascriptの拡張構文です。
ReactではこのJSXを多用します。
const name = 'Josh Perez';
const element = <h1>Hello, {name}</h1>;
ReactDOM.render(
element,
document.getElementById('root')
);
constでnameを宣言して、中括弧に囲んでJSX内で使用しています。
PHPで言うところの
$name = “Josh Perez”;
のようなものですが、Javascriptにはlet,const,varが存在しているので差異は理解する必要があります。
const element = <div tabIndex="0"></div>;
文字列リテラルを属性として指定するために引用符を使用できます。
JSXではキャメルケースのプロパティ命名規則を使用します。
キャメルケースとは、アルファベットで複合語やフレーズを表記する際、各単語や要素語の先頭の文字を大文字で表記する手法のことです。
例えばtabindexはtabIndexとなります。
const title = response.potentiallyMaliciousInput;
// This is safe:
const element = <h1>{title}</h1>;
RectDOMはJSXに埋め込まれた値をレンダリングされる前にエスケープするので、
ユーザーの入力したあらゆるコードが注入できないことが保証されています。
PHPで言うところのhtmlspecialchars()のようなものが、JSXでは担保されているということでしょうか。