はじめてつくるReactアプリ with TypeScript: たった2.5時間で「わかる! できる!」 (三好アキ 著)
Kindleでみつけたこの本を参考にはじめてのReactアプリを作成していきます。
作業メモ
-
React開発ツールReact + Viteをインストール
-
React + Typesctiptでアプリを開発
-
WeatherAPI をつかって気象データを取得
-
create-react-app の使用は現時点で、推奨されていないので、React + Viteで開発をおこなう
- 違いは、Javascriptファイルをまとめるバンドラーの違い
- create-react-app ではWebpackが使われる
- React + Virte ではViteが使われる
-
開発でつかっていくのは
src
フォルダ -
ReactではHTMLタグ以外にもコンポーネントをimportでき、自分で名前をつけて
<Title/>
のように使うことができる- 自分で作ったタグの最初の文字は大文字にすることが一般
- ReactコンポーネントであることをReactに伝えていることとなる
-
components
フォルダを作成して各コンポーネントのファイルを格納するのが一般的 -
APIにデータを送るために、入力されたデータを一時的にアプリ内に保管する必要がある。この保管場所をReactではstateと呼ぶ
- stateに保管することでコンポーネント内でそのデータを利用できるようになる
-
import { useState} from "react"
でデータの保管場所であるstateを作成する -
const [city, setCity] = useState("")
-
city
がstateとなり、ユーザーが入力した都市名が保管される -
setCity
がstate
にデータを書き込んだり操作したりする仕組みとなる - 慣例的に2つ目の名称は「set + state名」とするのが一般的
-
-
useState("")
のカッコ内の値がstateの初期データとなる -
<input/>
で入力されたデータをsetCity
に渡す仕組みとしてonChange
を使う -
onChange={e => setCity(e.target.value)}
の解説-
e
はevent parameter の略称で頭文字をとっている-
e
のかわりにevewnt
やeve
と書く人もいるが働きは同じ -
e
には<input/>
に関係する情報が格納されているので、ユーザーが入力した都市名の情報もそのひとつ -
e
の中のtarget
にアクセスしてその中のvalue
を取得している
-
-
-
return
のカッコ内ではJavascriptのコードを{}
で挟むことで使える! -
Reactの重要な設計コンセプトに「One-way Data Flow」がある
- Appから気象データをResultsにわたす
- FormからResultsにデータを渡すのはReactの設計コンセプトと異なる
- データは上位のコンポーネントから下位のコンポーネントに渡しましょう!
- 最上位のコンポーネントをだけがデータを持ち、そのデータを必要としている配下のコンポーネントに渡す、という設計
- これによってデータを一元管理できる
- データの数が増えても管理が容易になる
-
コンポーネント間の受け渡しには
props
を使用する -
JavaScriptのテンプレートリテラル
- 文字列の中にJavaScriptのコードを入れるときにつかう
- バッククオートと
$
を使う
-
npm create vite@latest
で環境作成
疑問点
-
export default xxx
のdefaultの意味はなんだろう。著書では細かい説明はなかった。ビギナーが現時点では深く理解する必要はないと記載されている