Open17

Hello React!!

Ryoma HaraRyoma Hara

2つ目のチュートリアル。三目並べ。
https://github.com/ier24/react-tic-tac-toe

READMEにも書いたけど、ReactとTypeScriptの学習にGitHub Copilot ChatとColipot for Docsが大変便利。何書いてるか理解は必要だし適宜調べるけど、色々と壁打ち相手になってくれる。アシスタントとはこのこと。

親コンポーネントと子コンポーネント間での関数渡しの理解が怪しいけど、まぁ色々読んだり作ったりするうちに慣れるでしょう。useState()とかも気持ち悪いけど最初は慣れ、色々理解できるようになったタイミングで改めて深掘りすることがあるかもしれん。

Ryoma HaraRyoma Hara

次に以下のチュートリアルをやってみる。
https://zenn.dev/likr/articles/6be53ca64f29aa035f07

Ryoma HaraRyoma Hara

ToDoアプリをつくる。今回はバックエンドも用意したい
Nest.jsを触りたい気持ちもあるけどあまりモチベが湧かないのでKtorを使う(かもしれない)。

https://developer.mozilla.org/ja/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_todo_list_beginning

ユーザーができること(User Story)

  • タスクのリストを読むこと
  • マウスまたはキーボードを使用してタスクを追加すること
  • マウスまたはキーボードを使用して、タスクに完了のマークを付けること
  • マウスまたはキーボードを使用して、タスクを削除すること
  • マウスまたはキーボードを使用して、タスクを編集すること
  • タスクの特定の一部を表示する:すべてのタスク、アクティブなタスクのみ、完了したタスクのみ。
Ryoma HaraRyoma Hara

ReactフレームワークのNext.jsを使ってみる(ブログサイトを作ってみる。Next.jsのチュートリアルのやつではない)。

以降はNext.js関連のメモ。


  • 基本的にはServerComponentを利用(Next.jsでは'use client'とファイル冒頭で宣言しない限りはデフォルトでServer Componentsになるらしい)。検索バーみたいにインタラクティブなComponentは小さく切り出してClientComponentにする。
  • Clinet ComponentでServer Componentを使う場合はPropsで渡す(importはできない)
  • App RouterではNetwork BoundaryはClient ComponentとServer Componentの間にある。Server->Clinetへと境界を超える場合はSerializeが必要。

参考資料

Ryoma HaraRyoma Hara

Next関係ないけど翻訳時にcodeブロック内も翻訳されるのを防ぐ方法(快適になった)。preタグにclass="notranslate"を追加するスクリプトを走らせる(DeepL Code Blockerという拡張機能を利用する方法もあるみたいだけど利用ユーザーが少なかったので、ScriptAutoRunnerを利用)。
https://zenn.dev/tkebt/articles/c6fc0ebfc245a0