タグ

reactに関するtjmtmmnkのブックマーク (30)

  • ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank

    はじめに こんにちは。サーバーサイドエンジニアの mokuo です。 最近、ミニマムな React アプリを実装する機会がありました。 社内のメンバーにアドバイスをもらいながら、今(2024年前半) React アプリをミニマムに作るならこんな感じかな、という構成になった気がするので、ご紹介したいと思います。 実例の1つとして参考にしていただけますと、幸いです。 はじめに 文 📝 機能要件 ⚒️ 採用したツール (npm モジュール) 📁 ディレクトリ構成 👨‍💻 プロトタイピングの実施 🍩 おまけ コンポーネント設計について フロントエンドに DDD のエッセンスを取り入れてみたい おわりに 文 📝 機能要件 社内の限られた CS メンバーのみが利用する、管理画面を開発しました。 バックエンドは Golang で実装される API サーバーで、認証機能以外だと、2つの機能

    ミニマムな React Web アプリケーションの技術スタックを大公開! - inSmartBank
  • 一言で理解するReact Server Components

    この記事はReact公式の内容を翻訳・紹介するものではありません。筆者の解釈や理解を伝えるものであり、Reactの公式見解と一致しているとは限りません。あらかじめご了承ください。 皆さんこんにちは。最近Next.js 13.4がリリースされ、App Routerがstable扱いになりました。App RouterはReact Server Component (RSC) をふんだんに用いて構築されています。 React体でServer Componentがずっとalpha版なのにNext.jsでbetaとかstableとか言ってるのは何で? という問題も、React Canaryのアナウンスにより無事に解消されました。 React Canaryってなに? 先日React公式ブログでアナウンスされた、新しいリリースチャネルです。 筆者の理解による概要をお伝えすると、Canary版のReac

    一言で理解するReact Server Components
  • React18でのStrictモードとuseEffectの挙動 - すな.dev

    ReactのStrictモードがv18になって挙動が追加された。 追加された挙動となぜそれが追加されたのかということについて調べた。 せっかくなのでここでまとめておく。 わりと調べて書いたつもりですが、もし内容が間違ってたら教えてください。 Strictモードとは ここでは簡単にStrictモードについておさらいしておく。 以下がドキュメント。 (基的にここで書いてある内容はドキュメントとReact18のDiscussionsに記載してある。どちらも最後に参照先のURLを記載しておく。) Strictモードとは、アプリケーションに存在している様々な潜在的な問題点をwarningとして出してくれるもの。 重要なことはStrictモードによって影響があるのは開発モードのみであって、番環境ビルドでは何も影響がないということ。 したがって、Strictモードによるwarningがあったとしても

    React18でのStrictモードとuseEffectの挙動 - すな.dev
  • GitHub - shuding/tilg: A magical React Hook that helps you debug components.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - shuding/tilg: A magical React Hook that helps you debug components.
  • How to fetch data with React Hooks

    Follow on FacebookIn this tutorial, I want to show you how to fetch data in React with Hooks by using the state and effect hooks. We will use the widely known Hacker News API to fetch popular articles from the tech world. You will also implement your custom hook for the data fetching that can be reused anywhere in your application or published on npm as standalone node package. If you don't know a

    How to fetch data with React Hooks
  • React.ComponentProps 型を積極的に使おう

    Atomic Design でいう Atoms に相当する、汎用コンポーネントについての小話です。次の様に Props 型定義を用意し、解説している記事をよく見かけます。<input />タグを使わずコンポーネント化している理由は style を施すためかと思いますが、このコンポーネントが受け取れる Props は限定的で、メンテナンスコストが高いためお勧めできません。 type Props = { value: string; onChange?: React.ChangeEventHandler<HTMLInputElement> onBlur?: React.FocusEventHandler<HTMLInputElement> } export const Input = ({ value, onChange, onBlur }: Props) => ( <input value=

    React.ComponentProps 型を積極的に使おう
  • Hooks時代のReactライフサイクル完全理解への道

    はじめに これはクラスコンポーネントのライフサイクルを理解した上で、それに対応するように関数コンポーネントのライフサイクルを理解しようという試みです。 厳密にはReactのライフサイクルはクラスコンポーネントと関数コンポーネントそれぞれで違う概念を持っているようで、それぞれのライフサイクルに紐付けて考えるという行為自体がナンセンスな可能性がありますが、理解の手助けになれば幸いです。 そのため、なるべくわかりやすくするために、厳密でない言い方をすることがあります。ご了承ください。 もし明らかにまずい言い回し、もしくは間違って認識しているものがある場合はコメントにて教えていただけると嬉しいです。 モチベーション 僕はReactの経験がクラスコンポーネントはちょっとだけ書いたことがあるくらいで、ほぼ関数コンポーネント×hooksから入ったようなもなのでいまいちライフサイクルが理解できていない。

    Hooks時代のReactライフサイクル完全理解への道
  • A Visual Guide to React Rendering - Cheat Sheet

    When does react component re-render? What can cause the re-render, and how to prevent unnecessary renders? Here is a quick cheat sheet you can refer to whenever you find yourself asking these questions. This article serves as a table of contents for a Visual Guide to React Rendering series. Every section of the cheat sheet links to the correspondent chapter of the guide that explores a topic in de

    A Visual Guide to React Rendering - Cheat Sheet
  • Atomic CSS-in-JS

    With utility/atomic CSS, we acknowledge it’s ok to couple the structure and presentation layers: when we need to change the button color, we modify the HTML, not the CSS. This tight coupling is also acknowledged in modern CSS-in-JS React codebases, but it seems the CSS world figured out first that the “separation of concern” of the web didn’t feel right. Specificity is also less a problem, as we u

    Atomic CSS-in-JS
  • React Native for Webのこれまでから読み解くReact GUIのこれから

    React Native Matsuri 2021で発表したスライドです。 https://reactnative-matsuri.com/ja

    React Native for Webのこれまでから読み解くReact GUIのこれから
  • ReactのSuspenseで非同期処理を乗りこなす

    Reactはどちらかというと非同期処理が苦手な部類でした。今まではReduxのmiddlewareを駆使したり、Hooksを上手く使ったりして乗り切っていました。 そこで以前よりSuspenseという機能の実装が進んでいます。Suspenseはまだ世間に浸透しきっていない機能ですが、Reactの世界を大きく変える可能性があります。そんなSuspenseについて、軽く覗いてみましょう。 Suspenseの世界 Reactで非同期処理を綺麗に扱うのは簡単なことではありません。redux-sagaを使うにせよ、useEffectを使うにせよ、大きな痛みを伴います。 そもそもReactはアプリケーションのUI層を担当するライブリラリです。来果たすべき責務に注力できず非同期処理のような些事に気を取られ、あろうことか非同期処理がReactアプリケーションの設計に大きな影響力を持ち始めるというのは、望

    ReactのSuspenseで非同期処理を乗りこなす
  • やっと React Server Components が腑に落ちた - Qiita

    2020 年末に発表された React Server Components は、一言でいうと React コンポーネントをサーバ側でレンダーする仕組みです。……が、初見ではちょっと魔法すぎて訳が分からない技術でもあります。トーク動画だけ見てても「具体的にどんな仕組みで動いてるの?」みたいな疑問が山ほど浮かんでくると思います。 一体裏で何がどうなっているのか、この技術はどう使うのか、デモコードを触りながらやっと具体的に理解しはじめたので、なるべく動作が想像しやすいようにまとめました。なお、この記事単体よりは、他の記事や上記動画を見てある程度概要や公式の売り文句を掴んでからの方が理解しやすいと思います。 これまでの、普通にブラウザで動作するコンポーネントのことを、区別のためにクライアントコンポーネントと呼びます(単に区別のために既存のコンポーネントに別名がついただけです)。以下ではサーバコンポ

    やっと React Server Components が腑に落ちた - Qiita
  • フロントエンドのコンポーネント設計に立ち向かう - Qiita

    ReactVueなどコンポーネントベースで作っていくViewのライブラリが普及したことで、コンポーネント指向での開発が一般化してきた昨今のフロントエンドですが、このコンポーネントの設計に悩まれる方も多いのではないでしょうか。 コンポーネントをどの粒度、どんな状態で分割するのが良いのか、などなど、特にチームで開発する時に認識が揃っていないとカオスになりがちな部分であると思うので、自分なりの設計をする際の指針を言語化しようというのが記事の目的です。同じように悩まれている方にも何らか示唆を提供することができたら嬉しいです。 想定読者 「コンポーネント設計?なにそれ?おいしいの?」という方 初めてコンポーネント設計でアプリ作ってみたけど、当にこれでいいのか自信の無い方 はじめに: "コンポーネント"とは まず最初に"コンポーネント"という言葉についてですが、ここでは「GUIのパーツをモジュー

    フロントエンドのコンポーネント設計に立ち向かう - Qiita
  • useEffect完全ガイド

    あなたは Hooks を使って複数のコンポーネントを書きました。ちょっとしたアプリも作ったことがあるでしょう。満足もしている。API にも慣れて、その過程でコツも掴んできました。しかも重複したロジックを転用できるよう Custom Hooks を作り、同僚に自慢して見たり。 でも useEffect を使う度、いまいちピンときません。class のライフサイクルとは似ているけど、何かが違う。そしていろんな疑問を抱き始めます。 🤔 componentDidMount を useEffect で再現する方法は? 🤔 useEffect 内で正確に非同期処理を行う方法とは? []ってなに? 🤔 関数をエフェクトの依存関係として記すべき? 🤔 非同期処理の無限ループがたまに起こるのはなぜ? 🤔 古い state か props がエフェクト内にたまに入るのはなぜ? 私も Hooks を使

  • ユーティリティーファーストとTailwind CSSのススメ - Qiita

    Tailwind CSSは結構いいんでないの?というポエムです ユーティリティーファーストって考え方について まず、 ユーティリティークラスが何かということ ユーティリティークラスを使ってHTMLを書いていくということってどういうことか これは、ある程度CSSを書いている人であれば想像できることであろうと思う。 こんな風に、あらかじめユーティリティー的なクラスを用意しーの .align-left { text-align: left; } .align-center { text-align: center; } .align-right { text-align: right; } .align-top { vertical-align: top; } .align-middle { vertical-align: middle; } .align-bottom { vertical-a

    ユーティリティーファーストとTailwind CSSのススメ - Qiita
  • Material-UI と styled-components を組み合わせて、React のサイトを怠惰にスタイリングする。 - Qiita

    Material-UIstyled-components を組み合わせて、React のサイトを怠惰にスタイリングする。CSSJavaScriptMaterialDesignReactstyled-components Redux Hooks と Redux Starter Kit を組み合わせると、かなり楽に redux が導入できるということを先日、ご紹介いたしました。 Redux Hooks によるラクラク dispatch & states Redux の記述量多すぎなので、 Redux の公式ツールでとことん楽をする。 ( redux-starter-kit) ロジックの記述が楽になったので、今度はウェブサイト、ウェブアプリの見た目をらくに記述できるようになりましょう。 ということで、今回はスタイリングのお話です。 紹介するのは React 界隈では有名なライブラリ(だと思

    Material-UI と styled-components を組み合わせて、React のサイトを怠惰にスタイリングする。 - Qiita
  • React向けUIコンポーネントライブラリ、Material UI(v4)の紹介 - Qiita

    注意書き あらかじめ言っておくのですが、今回はそこまで実践的なことは書いていません。 というのも、Material UI の機能を紹介するにしても、できることが多すぎてどこを抜粋するか悩んでしまったためです(苦笑) 公式ドキュメントを見ていただくとよくわかると思うのですが、あらゆる使用例、サンプルコード(JS、TS ともに)およびプレビュー表示が豊富に載っています。さらっと見ていくだけでも、こんなコンポーネントも用意されているのかと発見があって楽しいくらいです。 なので、提供されているコンポーネントに関しては、大まかな概要を紹介する程度にとどめます。 もし興味がわいた方はぜひ公式ドキュメントを見てみてください。 各コードには CodeSandBox へのリンクもあるので、お気軽に試せますよ。 2021/09/16時点で、5系が beta リリースされていますが 2021/09/16に5系が

    React向けUIコンポーネントライブラリ、Material UI(v4)の紹介 - Qiita
  • 新しくnext.jsで作るプロダクトで CSS Modules か CSS in JS か決める調査や思考のログ

    前提 実行速度は可能な限り上げたいものの、作ろうとしているのは実行速度を極力 上げる必要があるアプリケーションではない チームメンバーは今のところCSS in JSの知見しかない よほどメリットが上回らない限り、なるべくwebpackやbabelやpostcssなどの設定を書きたくない 感じていた課題 書きやすいが読みづらい 幾つかの記事で述べられているように、ただスタイルを付与して別名を付けたコンポーネントなのか、処理上/atomic design上の意味のあるReact Componentなのか判別しづらい styled-componentsnext.js SSRで動かすための対処 のように _doucment.tsx に一手間挟む必要がある CSS in JSとstylelintの相性の悪さ 2020年秋頃だと babel設定が特定の条件を満たしているときに https://git

    新しくnext.jsで作るプロダクトで CSS Modules か CSS in JS か決める調査や思考のログ
  • SassからCSS Modules、そしてstyled-componentsに乗り換えた話|食べログ フロントエンドエンジニアブログ

    この記事はべログアドベントカレンダー2020の2日目の記事です。 こんにちは。べログFE(フロントエンド)チームの金野です。 以前の記事でもご紹介しました通り、現在べログは、jQuery+Railsだったフロントエンド環境をReact/TypeScriptに置き換えるリプレースを進めています。 CSSもSassからCSS Modulesを経てstyled-componentsに移行中です。 今回は、「どうしてその技術を選んだか」という技術選定の経緯や、どのような規約で運用しているかをご紹介します! なぜリプレースを始めたのかまず、CSS技術選定について触れる前に、リプレースの目的について話さなくてはいけません。 べログは今年で開設から15年となるサービスです。システムも組織も巨大で、且つ複雑な機能が多くあります。 特にフロントエンドは場当たり的な実装も多く、技術的負債が開発時のボ

    SassからCSS Modules、そしてstyled-componentsに乗り換えた話|食べログ フロントエンドエンジニアブログ
  • styled-componentsの採用と既存資産を捨てた理由 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。フロントエンドエキスパートチームの@nakajmgです。 私が所属しているフロントエンドエキスパートチームでは、現在 kintone の脱レガシーの一環として React + TypeScript 化に取り組んでいます。この取組の中で Scss で定義されている既存のスタイルを styled-components で書き直していくという決定をしました。 今回は styled-components の採用を決定するまでの過程や、既存の Scss ファイルの扱いについて検討した内容などを紹介します。 スタイル定義方法の検討 kintone にはユーザーが JavaScript でカスタマイズできる機能があり、ユーザーが行っているカスタマイズの中には、DOM 構造や CSS のクラス名に依存しているものもあります。このようなカスタマイズはサポートの対象外ではありますが、ユーザーにでき

    styled-componentsの採用と既存資産を捨てた理由 - Cybozu Inside Out | サイボウズエンジニアのブログ