Reactで、画面の部品を順に案内する使い方ガイドを作る方法
検索欄やボタンを1つずつ明るく残し、下か上に説明のカードを出す使い方ガイドを、ライブラリなしの TypeScript で作りました。アプリを初めて開いた人へのオンボーディングや、あとから見返せる操作のチュートリアルに使えます。部品の位 ...
Reactで、長い文章を「続きを読む」で折りたたむ方法
長い文章を3行で切って「続きを読む」ボタンで広げるコンポーネントを TypeScript で作りました。行数で切る CSS、はみ出したときだけボタンを出す測り方、隠れた部分のリンクに Tab で入ったときの対策を Chromium で ...
Reactで、右クリックしたときに独自のメニューを出す方法
右クリックした位置に独自のメニューを出すコンポーネントを TypeScript で作りました。ブラウザのメニューの止め方、画面の端で反対側に開く計算、閉じる処理、Shift+F10 と矢印キーでの操作を Chromium で確かめてい ...
Reactで、ツールチップを画面の端からはみ出さずに出す方法
画面の端にあるボタンのツールチップが切れないように、位置を計算するフックを TypeScript で作りました。上に入らなければ下に回し、左右は画面の内側にずらし、矢印はボタンを指したままにします。Floating UI と CSS ...
ReactでWeb Animations APIを使って要素を動かす
Reactで animate() を呼び、要素を揺らす、ふわっと出す、薄くして消す、の3つの動きを TypeScript で作る方法です。前の動きの止め方、fill と commitStyles の違い、useEffect でのちらつ ...
ReactのuseEffectとuseLayoutEffectの違いと使い分け
useLayoutEffectは、ブラウザが画面を描く前に動きます。高さを測って位置を決めるツールチップを両方のフックで作り、Chromiumで描かれたフレームを記録して、useEffectでだけ出たちらつきと、その防ぎ方を紹介します ...
ReactのProfilerで描画にかかる時間を測る方法
Reactので囲んだ部分の描画が確定するたびにonRenderが呼ばれ、かかった時間を受け取れます。memoが効いているかの見分け方、複数のProfilerの置き方、本番用のビルドで測るときの注意を、Chromiumで確かめました。
ReactのActivityで、隠した画面の状態を残す方法
条件付きレンダリングの代わりにで隠すと、stateも入力欄の中身も残ったまま、エフェクトだけが片付けられます。2つの書き方を同じ手順で動かして比べ、隠しても止まらないへの対処も確かめました。
