React

TanStack QueryのuseQueryにて、refetchIntervalとstaleTimeを組み合わせたときの動作を確認してみた

TanStack Queryの useQuery には refetchInterval という設定値があります。 以下の公式ドキュメントにある通り、これは定期的にデータ取得を行うための設定のようです。これを使うことにより、APIへのポーリングも容易に実装できそうです。 refetchInterval…

TanStack Queryにて、useQueryのstaleTimeとcacheTimeの挙動を確認してみた

TanStack Queryの useQuery を使うとき staleTime cacheTime という2つの設定値があります。 それらの違いについてよく分からなかったので調べてみたところ、Githubのdiscussionsに色々記載がありました。 staleTime vs cacheTime · TanStack/query · Discus…

TanStack QueryにおけるuseQueryのselectオプションを調べてみた

TanStack Queryの useQuery のドキュメントを見ていたところ、 select オプションがありました。 This option can be used to transform or select a part of the data returned by the query function. It affects the returned data value, but does not a…

TanStack Queryの Query Key について調べてみた

TanStack Queryの useQuery や invalidateQueries を使うときは Query Key を指定します。 Query Keyとはなにかを公式ドキュメントで見たところ At its core, TanStack Query manages query caching for you based on query keys. Query keys have to be an …

Reactにて、useStateやuseEffectを使っていたところをTanStack Queryに置き換えてみた

最近、状態管理ライブラリ TanStack Query を使う機会がありました。 TanStack Query は公式ドキュメントが充実しています。 TanStack Query | React Query, Solid Query, Svelte Query, Vue Query TanStack/query: Powerful asynchronous state management…

React + DjangoなWebアプリに対して、PlaywrightでいろいろなE2Eのテストコードを書いてみた

前回の記事で、Playwrightを使ってDjango + ReactのE2Eテストができると分かりました。 WSL2 + Playwrightな環境にて、codegen機能によりReactアプリやDjango管理サイト向けのテストコードを自動生成してみた - メモ的な思考的な 前回は自動生成したテストコ…

WSL2 + Playwrightな環境にて、codegen機能によりReactアプリやDjango管理サイト向けのテストコードを自動生成してみた

前回の記事にて、WSL2上にPlaywrightをインストールして動作することを確認しました。 WSL2上にインストールしたPlaywrightを、Visual Studio Codeから動かしてみた - メモ的な思考的な これにより環境ができたため、次はPlaywrightのcodegen機能でテストコ…

django-vite を使って、Django の template 上で React を動かしてみた

これは Djangoのカレンダー | Advent Calendar 2022 - Qiita 12/6の記事です。 フロントエンドのビルドツール Vite を使って、ReactをDjangoで動かす方法を調べたところ、awesome-viteのページに django-vite の記載がありました。 Integrations with Backen…

Rails + React + OpenAPI な環境で、クエリパラメータに配列を指定する時に調べたことをまとめてみた

Rails + React + OpenAPI な環境で、クエリパラメータに配列を指定することがありました。 ただ、実装するまでにいろいろ調べたことがあったため、メモを残します。 目次 環境 わかったこと Railsでは ids[]=1&ids[]=2 な書式のクエリパラメータを受け取れる…

React17 + MUI DateTimePicker + React Hook Form なアプリを yarn upgrade --latest したら破壊的変更が入っていたので修正した

以前、 React17 + MUI + React Hook Form なアプリを作り、以下のリポジトリとして保存していました。 https://github.com/thinkAmi-sandbox/react_mui_with_vite-sample 公開から時間が経過していたこともあり、せっかくなので最新のReactなどに追随するべ…

React Hook Form 7系と MUI 5系を組み合わせたフォームを作ってみた

React Hook Form 7系とMUI 5系を組み合わせてフォームを作る時に、色々悩んだことがあったのでメモを残します。 目次 環境 controlled component と uncontrolled component について Reactのフォームでは MUIでは React Hook Formでは 実装 フォームを作る …

React + Rails + Vite.js なSPAアプリを、RubyMineを使ってReactとRailsの両方をデバッグしてみた

JetBrainsの資料にある通り、RubyMineではRailsに加えてReactもデバッグできます。 Debug a React application - React | RubyMine Debugging React Apps Created With Create React App in WebStorm | The WebStorm Blog Reactのデバッグについては、公式…

React + React Hook Form v7 なフォームに、MUI v5 の DateTime Picker を組み込んでみた

React Hook Form に MUI の DateTime Picker を組み込んだところ、いくつか悩んだことがあったため、メモを残します。 目次 環境 作るもの 実装の流れ MUI で Modal を作る React Hook Form を使ってフォームを作る MUI DateTime Picker と組み合わせる セッ…

React + localeText 設定済の MUI DataGrid にて、フィルタ用 Custom Operator の value を標準の Operator と同じ値にすると、自動で翻訳される

以前、MUI DataGrid の列の filterOperators に自作の Custom Operator を設定して、独自のフィルタ機能を実装したことがありました。 React + MUI のDataGridにて、ある列が複数の日付を持つデータに対し、valueFormatter・sortComparator・filterModelを使…

React + React Router v6 + MUI の Breadcrumbs で、動的ルーティングを含むパンくずリストを作ってみた

前回、MUI の Breadcrumbs のサンプルコードが React Router v6 では動かなかったため、React + React Router v6 + use-react-router-breadcrumbs を使って、パンくずリストを作ってみました。 React + React Router v6 + use-react-router-breadcrumbs でパ…

React + React Router v6 + use-react-router-breadcrumbs でパンくずリストを作ってみた

React + MUI の Breadcrumbs では、 React Router と統合して扱えます。 Integration with react-router | React Breadcrumbs component - MUI ただ、サンプルコードは React Router v5用のもののようで、 codesandbox で公開されているデモがエラーで止まっ…

React + MUI DataGrid 用に作成した Custom Operator を、Jest + jest-mock-extended でテストしてみた

以前、 MUI DataGrid の Custom Operator を作りました。 React + MUI のDataGridにて、ある列が複数の日付を持つデータに対し、valueFormatter・sortComparator・filterModelを使って表示・ソート・フィルタしてみた - メモ的な思考的な この時に作成した C…

React + MUI のDataGridにて、ある列が複数の日付を持つデータに対し、valueFormatter・sortComparator・filterModelを使って表示・ソート・フィルタしてみた

React の MUI (旧 Material UI) では、コンポーネントとして DataGrid が提供されていることから、グリッド表示したい時に便利です。 React Data Grid component - MUI そんな中 const rows = [ { id: 1, name: 'シナノドルチェ', purchaseDate: [new Date(2…

React + Rails + Vite.js なSPAアプリをモノレポで作ってみた

RailsでWebpacker以外の方法で React のSPAアプリが作れないかを調べたところ、 vite_rails がありました。 Rails Integration | Vite Ruby webpackやRailsのWebpackerに詳しくないため、React と Rails と Vite.js を組み合わせてSPAが作れそうなのは魅力的…

Play Framework の View に React + TypeScript を組み込み、 sbt + Vite.js ですべてコンパイルできるようにしてみた

Play Framework アプリに React を組み込んでみる機会がありました。 ただ、Reactを使って SPA にするのではなく、まずは ルーティングは Play Framework (バックエンド)が担当 Play Framework の View上で React が動く Scriptタグでコンパイルした React …

Next.js に CASL React を組み込んで権限管理をしてみた

アプリケーションの権限設計について調べていたところ、以下の記事に出会いました。 アプリケーションにおける権限設計の課題 - kenfdev’s blog 権限設計で考えなければいけないことがまとまっていて、とても参考になりました。ありがとうございました。 上…

PyCharmで、anyenv + nodenv で構築した ReactとDjango REST Frameworkの両方をデバッグしてみた

今までPyCharmでDjango REST framework(以下、DRF)のデバッグを行ったことはありました。 そんな中、以前 React + TypeScript + DRFでアプリを作りました。 ただ、ReactとDRFをPyCharmだけでデバッグしたことがなかったため、どのように設定すればデバッグで…

React + TypeScript + Django REST frameworkでToDo管理アプリを作ってみた

先日、大岡由佳さんの「りあクト! 第3.1版 (2020年12月26日 初版第1刷発行)」を読みました。書籍では理由や経緯などが書かれており、とてもためになりました。ありがとうございました。 りあクト! TypeScriptで始めるつらくないReact開発 第3.1版【Ⅰ. 言語…