3 min
CSSのみで高機能なサイドバーを実装するサンプル
#CSS
4 min
CSS Overflow ModuleによるCSSのみで凝ったカルーセルを実装する例と注意点
#CSS
4 min
JavaScriptによるスクロール位置の監視が必須であった複雑なヘッダーアニメーションも、Scroll State Queriesを使えばCSSのみで実装することが出来る。
#CSS
2 min
Scroll Containerが包含ブロックでない場合、内部の隔離されていない絶対配置された要素はScroll Containerの外側に配置されるため、ページの高さが大きくなるといった意図しない挙動を引き起こす。
#CSS#AG Grid
10 min
Chrome 135でサポートされたCSS Overflow Module Level 5によるCSSカルーセルの実装方法
#CSS
5 min
Tailwind CSSがAIフレンドリーである負債になりにくいといった主張について、少なくとも現状は違うという認識を持っています。
#CSS#Tailwind CSS
3 min
list-styleを無効化したul要素にlistロールを指定すべきという方針はアンチパターンである可能性が高い。
#CSS
5 min
Ref callback、React v19で追加されたクリーンアップ関数、useEffectとの違いについて。また特にクリーンアップ関数を使ったRef callbackの実装例。
#React
2 min
React v19ではグローバルなJSX名前空間が削除されたため、これを利用している場合に型の変更が必要になる。
#React#Web Components#TypeScript
7 min
CSSがサポートしている色空間の特性や歴史的な経緯、カラーパレットを生成する場合にOKLCH色空間の利用を推奨する理由について解説する。
#CSS#Design
3 min
個人的には出来る限りスコープ外の関数としてコンポーネントを切り出すべきだと考えている。パフォーマンス、コードとしての質、将来性の観点から説明を行った
#React#JavaScript
2 min
overflow-yを指定したら、縦スクロールバーが表示されるようになる状況の解説と対処法について書いた。
#CSS
3 min
React Routerを利用している環境で、一度エラーが表示された後に、パスパラメーターが異なるURLに遷移しても、ErrorBoundaryによって表示されたエラーが画面から消えないと相談を受けた。その理由と対応策について書いた。
#React#React Router
2 min
公式ドキュメントを十分に読んでいないと理解が難しいと思われるParallel routesが404になる理由やdefault.jsの意味について、タブの実装を例に書いた。
#Next.js#React
4 min
React公式ドキュメントを見ながらReact 19の新機能を見る会を主催した際のメモです。多くは最低限このくらいの理解はしておいた方がいいという内容を事前に羅列しておいたものですが、一部その場で話題になった内容も含まれています。
#React
1 min
ESLintで特定のpropsを禁止にしたい場合の設定方法について説明する。
#ESLint#React
1 min
ESLintで特定の要素の利用を禁止したい場合の設定方法について説明する。
#ESLint#React
2 min
ESLint v9がリリースされたが、ESLint pluginのESLint v9対応が出来ていないpluginが複数あり、その対応状況を調査した。
#ESLint#React
3 min
textareaにfield-sizing: content; width: 100%;などを指定しても親要素の幅を超えてしまうという相談を受けたので、その原因と対応についてまとめた。
#CSS
1 min
position: stickyが効かないという質問を受けたことが度々あったので、その原因と解決策についてまとめた。
#CSS
1 min
Chrome 124からaspect-ratioが指定されたgridアイテムがoverflowするようになったという報告があったので、その理由と対処方法についてまとめた。
#CSS
1 min
Propsから受け取ったrefを内部的なrefとマージする方法を紹介する。
#React
1 min
refが取れないので非制御コンポーネントに出来ないという相談を受けたので、非制御コンポーネントとrefの関係について説明した
#React
2 min
file-selector-buttonを利用してinput[type="file"]を装飾する方法とその是非について。
#CSS#HTML
3 min
useRefでステートを管理する是非について質問を受けたので、個人的な意見をまとめた。
#React
2 min
useEventの後継として提案されているuseEffectEventについてのメモ。
#React
2 min
data-属性やaria-属性などは、型定義がJSXに含まれていなくても型エラーになりません。この理由や型エラーになるケースについて紹介します。
#JavaScript#React#TypeScript
2 min
ReactコンポーネントをJSX形式ではなく、ただの関数として呼ぶとバグの原因になる場合がある。これが原因のバグの相談を度々受けるので、問題になる例と対策をまとめた。
#React
4 min
動的的にコンテンツが増えるようなサービスでは、クラシックスクロールバーによって画面が崩れたような印象を与えてしまう場合がある。この記事では、クラシックスクロールバーとオーバーレイスクロールバーの軽い説明と、scrollbar-gutterによる対策を説明する。
#CSS
1 min
React v18.2.0時点ではexperimentalなuseFormStatusを利用すると、重複送信を防ぐボタンを簡単に実装できる。
#React
2 min
Noto Sansを使った際に、他のフォントと比べて下にずれたように見える問題についての調査をまとめた。
#CSS
1 min
reactwg/server-componentsのDiscussionsで公開された`Why do Client Components get SSR'd to HTML? `のRSCの説明が分かりやすい。
#React
12 min
React Router v6に移行する際に気を付けるべき点や、移行時に受けた質問をまとめました。
#React Router#React
4 min
iPhoneで見るとフォーム画面が崩れる問題について調査した結果をまとめた。
#CSS#HTML
6 min
CSS Media Query、特にmin-widthまたはmax-widthを利用する場合に気を付けた方が良いパターンや知見について紹介する。これらのメディア特性が自由に扱われているスタイルは破綻しやすい。
#CSS
2 min
ReactのRouterライブラリなどでパスの書き間違いを防ぎたいと聞かれたので、いくつかの方法を提示した際のメモ。
#React
2 min
ページにフォーカスを戻すと入力要素に入力していた内容が吹き飛ぶ場合があるという相談を受けたため、その調査と対応についてまとめた。
#React
2 min
Playwrightを利用したE2Eテストで稀に要素が取得できなくなり失敗すると相談を受けた際の対応についてまとめた。
#Playwright#React
2 min
Reactの状態管理ライブラリであるJotai、Recoil、Redux、Zustandについて比較した雑感。
#React#Redux#Zustand
1 min
モダンなブラウザのみサポートする場合は、scrollbar-width: noneの指定のみでスクロールバーを隠すことが出来る。
#CSS
1 min
React Router v6でパスパラメータが変更された際も再レンダリングをトリガーする方法を紹介する。
#React#React Router
1 min
Prism.jsを利用していると対応言語に書かれているがハイライトされない言語がいくつかあった。これはprism-react-rendererからprismjs本来の機能を使うように移行した際のメモです。
#React#Prism.js
3 min
Reactのイベント型について書いた。React.MouseEvent、React.ChangeEvent、React.SyntheticEvent、NativeのEvent型、React.XXXEventHandlerなどについて、どれを使うべきか。
#React#TypeScript
2 min
ReactのFunction Componentの型は、歴史的な理由などにより様々な記述ができる。React.FunctionComponent、React.FC、React.VFC、(props: SomeComponentProps): JSX.Elementなどがある。
#React#TypeScript
4 min
Reactのpropsをunion typeにする方法をいくつか紹介する。ただし、これらの利用やそもそもunion typeをpropsに使うこと自体が適切かどうかは慎重に検討する必要がある。
#React#TypeScript
2 min
ReactとTypeScriptでHTML属性を拡張する方法について書いた。React.ComponentPropsWithoutRefやReact.ComponentPropsWithRef、React.ComponentProps、JSX.IntrinsicElements、React.DetailedHTMLProps、React.ButtonHTMLAttributes、React.HTMLProps、React.AllHTMLAttributes、React.HTMLAttributesなど。
#React#TypeScript
3 min
2022年10月時点でのCSS in JSについてのメモ。Zero Runtime CSS in JSやZero-runtime CSS in JSライブラリの比較など。
#CSS#CSS-in-JS
6 min
Fire-and-forgetパターンつまりuseEffectOnceのようなコードをuseEventでどのように置き換えられるか
#React
5 min
@media printや@page、break-inside、break-before、break-after、print-color-adjustなどを利用して印刷時の見た目を調整する方法を紹介する。
#CSS
1 min
CSS変数に色をそのまま宣言するのではなく、パラメーターを持たせておくことで、`rgb()`や`hsl()`、`lch()`などの関数に渡して、色を生成する方法を紹介する。
#CSS
4 min
Safari 16でサポートされ、全ての主要なブラウザで利用できるようになったtext-align-lastについて紹介する。
#CSS
8 min
会社にて、ほとんどのサービスのReactのバージョンをアップグレードするイベントを開催した際のQ&Aなどをまとめました。
#React
1 min
要素を返す前にstateを更新すると何が起きるかのクイズ。
#React
2 min
リリースされたばかりのReact Router V6のOutletを使って、ページコンポーネントを遅延読み込みするいい感じの方法を考えた。
#React#React Router
2 min
CSS-in-JSのstyledとcss propの記法について、styled-componentsの作者であるGlen Maddern氏による説明のメモ。
#CSS-in-JS#styled-components#Emotion
2 min
React-Routerでリダイレクトさせる際にreplaceさせないと、リダイレクトされるページの前にいたページに戻れなくなるのは当たり前だと思うが、質問があったのでまとめた。
#React#React Router
3 min
ReactにおいてgetElementByIdやquerySelectorを避けた方が良い理由の説明。
#React
3 min
useEffectのdepsに依存関係を入れる理由について解説する。
#React