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

Thumbnail of post image 003

​

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

​​React​Suspense,TypeScript,use,useTransition

Thumbnail of post image 157

​

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

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

Thumbnail of post image 129

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

​​React​Activity,TypeScript,useEffect,useLayoutEffect

Thumbnail of post image 121

​

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

​​React​forwardRef,ref,TypeScript,useImperativeHandle

Thumbnail of post image 117

React 19では ref をふつうの props として受け取れるので、新しいコンポーネントに forwardRef はいりません。同じコードを React 18 と 19 で動かし、memo や TypeScript の型での違 ...

​​React​ESLint,Suspense,TypeScript,useContext

Thumbnail of post image 090

​

React 19のuseなら、Promiseとコンテキストを描画中に読めます。待ち時間はSuspense、失敗はError Boundaryに任せられ、コンテキストはifのあとでも読めます。キャッシュしないPromiseを渡すとどうな ...

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

Thumbnail of post image 134

​

React 19のuseActionStateとでフォーム送信を書き直し、useOptimisticで送った内容をすぐ表示しました。投稿フォームの楽観的更新を、ほかのライブラリなしで書くときに使えます。エラーで入力欄が空になる落とし穴 ...

​​React​ESLint,TypeScript,useEffect,useEffectEvent

Thumbnail of post image 016

​

useEffectEventを使うと、エフェクトの中で最新のpropsやstateを読みながら、その値が変わってもエフェクトをやり直さずに済みます。依存配列に入れる、lintを黙らせる、useEffectEventを使う、の3通りで、 ...

​​React​React Compiler,TypeScript,useCallback,useMemo

Thumbnail of post image 121

​

React Compiler 1.0を入れると、useMemoとuseCallbackはほとんどの場面で書かなくてよくなります。ただしコンパイラが処理をスキップしたコンポーネントや、エフェクトの依存値を細かく制御したい場面では、今も手 ...

カテゴリー