【おれの備忘録】ReactチュートリアルをTypescriptに-タイムトラベルまで

オウルです。

前回の続きです。前回は、ReactチュートリアルをTypescriptでゲーム勝者の判定まで実装しました。今回は、タイムトラベルまで実装して完了です。

ローカル環境
language React v17.0
os WSL Ubuntu 21.04
editor VSCode

Reactチュートリアル

では、タイムトラベル機能の追加から早速はじめます。

historyの型

チュートリアルで紹介されているhistoryの構造を、素直に型定義します。

State のリフトアップ

State のリフトアップ、再びにあるように、BoardコンポーネントにあるstateをトップレベルのGameコンポーネントにリフトアップします。

リフトアップ後のBoardコンポーネント

まず、BoardコンポーネントがsquaresとonClickプロパティをGameコンポーネントから受け取るようにPropsを定義します。

”state”と盤面のクリックイベントハンドラである”handleClick”と勝者、または次プレイヤーの案内を表示する”displayStatus”、”calculateWinner”をGameコンポーネントにリフトアップするため、前回Boardコンポーネントの実装と比較すると、なくなっています。

Gameコンポーネント

Gameコンポーネントでのポイントは、チュートリアルでも丁寧に説明されているkey を選ぶでしょう。ここでは”renderMove”関数にあたります。

Typescriptの重要性

ReactチュートリアルをTypescriptに置き換えているときに感じたTypescriptの重要性。Typescriptを使うことによって、Reactの良さを最大限活かせるのは間違いないと感じたため、Typescriptの本を購入してTypescriptの学習も継続中です。この購入したTypescript本がとても、とても良い。機会があれば紹介したいと思います。

このチュートリアルでは、副作用フックは出てきていないため、次は、Example ProjectsのBMI Calculatorに挑みます。BMI Calculatorは、javascriptのスプレッド構文、Typescriptではルックアップ型、ReactではuseEffectと面白そうです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA