​​React​meta,title,TypeScript,サーバーレンダリング

Thumbnail of post image 131

​

React 19では、ページの部品の中に書いたtitle・meta・linkを、Reactがheadへ移してくれます。ページの切り替え、index.htmlに最初からあるtitleとの関係、2か所で書いたとき、空のタイトルになる書き方 ...

​​React​memo,TypeScript,useDeferredValue

Thumbnail of post image 133

​

入力のたびに重い一覧を描き直すと、文字が出るまで待たされます。useDeferredValueで一覧に渡す値を遅らせ、一覧をmemoで包むと、入力欄はすぐに更新されます。memoがないと効かないことも、ブラウザで測って確かめました。

​​React​TypeScript,useActionState,useFormStatus,フォーム

Thumbnail of post image 174

​

React 19のuseFormStatusを使うと、フォームの中に置いたボタンの部品が、propsなしで送信中かどうかを読めます。使い回せる送信ボタンを作り、押したボタンの見分け方や、pendingがtrueにならない置き方を確かめ ...

​​React​Babel,ESLint,React Compiler,TypeScript,Vite

Thumbnail of post image 058

​

React Compilerは、フォルダの指定、”use memo”を付けた関数だけの変換、実行時のフラグでの切り替え、の3つの方法で少しずつ入れられます。Vite 8で3つとも試し、Babelの設定の落とし穴 ...

​​React​startTransition,TypeScript,useEffect,useSyncExternalStore,サーバーレンダリング

Thumbnail of post image 143

​

React の外にあるストアを useSyncExternalStore で読むと、Transition の描画中にストアが変わっても、画面の値がそろいます。useEffect で購読する書き方と比べ、3つの引数の落とし穴も確かめまし ...

​​React​React Testing Library,Suspense,TypeScript,useActionState,Vitest

Thumbnail of post image 156

​

React 19 のコンポーネントを、Vitest と React Testing Library でテストする手順です。後片づけの登録、findBy での待ち方、Suspense を使うコンポーネントを await act で描画す ...

​​React​Suspense,TanStack Query,TypeScript,useActionState,useTransition

Thumbnail of post image 034

​

React 19 の use と Suspense は「待つ表示」、useActionState は「送信中の状態」を受け持ちますが、データのキャッシュは受け持ちません。自前のキャッシュと TanStack Query で同じ画面を作 ...

​​React​Suspense,TypeScript,use,useTransition

Thumbnail of post image 168

​

タブの切り替えで表示中の画面がSuspenseの「読み込み中…」に置き換わるのは、startTransitionで防げます。isPendingで切り替え中を示す方法、入れ子のSuspenseで待つ範囲を決める方法、keyで読み込み中に ...

​​React​TypeScript,useFormStatus,フォーム

Thumbnail of post image 160

React 19のに渡した関数は、FormDataを受け取って呼ばれます。useFormStatusで子のボタンから送信中を読む方法と、同じコンポーネントで呼ぶと効かない落とし穴を確かめました。

​​React​Activity,TypeScript,useEffect,useLayoutEffect

Thumbnail of post image 196

​

条件付きレンダリングの代わりにで隠すと、stateも入力欄の中身も残ったまま、エフェクトだけが片付けられます。2つの書き方を同じ手順で動かして比べ、隠しても止まらないへの対処も確かめました。