Reactに関するtsubasa123のブックマーク (116)

  • React で作るゆっくり解説 feat. Remotion

    export const FirstVideoConfig: VideoConfig = { sections: [ { title: 'イントロダクション', bgmSrc: '/audio/bgm/honobono-wartz.wav', backgroundVideo: '/video/cyber-bg.mp4', afterMovie: '/video/yukkuri-opening.mp4', talks: [ { text: 'ねえねえ魔理沙', speaker: 'reimu', id: '59f8c2cd81334be5ab5cdc7899fad286', audioDurationFrames: 25, }, { text: 'なんだ霊夢', speaker: 'marisa', id: '0ba332a465c3404a870de15cad021407', audioD

    React で作るゆっくり解説 feat. Remotion
  • React周りのいつかお世話になる記事たち(随時更新)

    Reactで開発をしていく上でみなさんがいつかお世話になるだろうと思った記事たちです。 (僕はお世話になりました。これからもお世話になります。) これも良かったよっていう記事があればコメントで教えてください! 🌟 = 特におすすめ Reactを最初から学ぶ・入門 React Docs BETA 🌟 りあクト! TypeScriptで始めるつらくないReact開発 第4版【① 言語・環境編】 - くるみ割り書房 ft. React - BOOTH 🌟 Reactハンズオンラーニング 第2版 ―Webアプリケーション開発のベストプラクティス RailsエンジニアのためのNext.js入門 - hokaccha memo React Glossary + Explain Like I'm Five 🌟 React Server Components 総まとめ Reactのレンダリングに関

    React周りのいつかお世話になる記事たち(随時更新)
  • Atomic Designをやめてディレクトリ構造を見直した話|食べログ フロントエンドエンジニアブログ

    こんにちは。フロントエンドチームの金野と申します。 べログでは現在、React+TypeScriptフロントエンドのリプレースを進めています。 以前の記事で、べログではAtomic Designをどのように取り入れているかの紹介をしました。 しかし、最近のリプレース作業では、Atomic Designとは異なるディレクトリ構造を採用しています。 今回の記事では、「なぜAtomic Designをやめたのか」という理由と、「どのようなディレクトリ構造にしたのか」を紹介します。 Atomic Designを導入したねらいと導入した結果 上記の記事で言及した通り、当初Atomic Designを導入したねらいは以下になります。 1. コンポーネントの責務がより明確になる 2. 見た目の粒度だけでなく、ロジックの責務も明確にできる 3. 「ドメインが入るか/入らないか」。「抽象的か/そうでな

    Atomic Designをやめてディレクトリ構造を見直した話|食べログ フロントエンドエンジニアブログ
  • Reactでウェブフォームを作る2021

    Webのフォームは、いつでもベストプラクティスを悩むものの一つです。React を使うとして完全に自作でやるのか?それともフォームライブラリを使うか?フォームライブラリならどれを使うか? 今の時代 Formik を選ぶ理由はありませんが、React Hook FormReact Final Form のどちらを使うかはとても悩ましいです。 React Hook Form は利用経験者・採用実績が多い、速度が速いなど様々な利点はありますが、React 哲学に反する作りなどクセの強さが難点です。あと良くも悪くも利用シーンが豊富でドキュメントも豊富で迷子になりがちです。 React Final Form は Final FormReact wrapper です。個人的にはこちら React 的使いやすさに反すると感じてること、React Final Form として見たときにドキュメ

    Reactでウェブフォームを作る2021
  • React を深く知るための入り口

    Reactに対する見方をアップデートする 国内外の優れた開発者の方による React の各論の記事は枚挙にいとまがありません。しかし、React の入門を一通り終えた方に向けの浅く広い総論はあまり見かけません。 React の公式ドキュメントのトップページに掲載されている短い3つの文章があります。この React質を表現した文章を掘り下げることが、初学者のステップアップにつながるのではないかと考え、各章に対して注釈を加えました。 React について少し深く知ることで、さらに React を好きになったという方を一人でも多く増やしたい。その思いから記事を執筆しました。 記事は React の考え方を知ることで、React に対する見方をアップデートすることを目的としています。 Reactとは何か。それはUIを構築するためのJSライブラリである React公式ドキュメントの一文 R

    React を深く知るための入り口
  • Storybook First な開発のススメ

    Storybook first な開発とは Storybook での呼び出され方を意識しながらアプリケーションコードを書くことをそのように呼んでいます。 道具に設計がひきづられるのはアンチパターンと言われそうな気もするのですが、コンポーネントのカタログを整備していくことは、コンポーネントが良い感じに再利用可能な形で分離できるということでもあり、やっていくとむしろ正道に近づいていくと思います。 Storybook First のコンポーネント設計や型定義をすると、パーツに限らず Storybook でカバーできる範囲が広がり、ページそのもののサンドボックスを作れます。 そして API がない状態でもデータを使って開発ができたり、特定のスナップショットの再現やタイムトラベルに近いことも可能になるというメリットがあります。 つまり、ただのコンポーネントカタログとしてではなく、開発のためのサンドボ

    Storybook First な開発のススメ
  • React テスト応用、テストに悩む人へ

    2022-05-06 更新 「React でコンポーネントテストを書くといいらしい、 React Testing Library や jest でサンプルを参考に書いてみたが 現実どうやってプロダクトコードに合わせていけばいいか分からない」 そういった方が対象となるを目指しています。 いろいろ調べて実践したものの下記のように感じた方に適しているかもしれません。 - 結局テストで何を担保しようとしているか分からない - React のテストでハマっているか、Jest でハマっているか分からない - モックとかスパイとかアプリケーションとは遠い出来事も多くてピンとこない 誤り・ご指摘あればフィードバックいただけると嬉しいです。 無料で配布していますが、気に入ったらサポートなどいただけると今後もこのをアップデートし拡張していく気持ちになれるのでよろしくお願いします。

    React テスト応用、テストに悩む人へ
  • Reactのユニットテスト2021

    React でユニットテストをするときのベストプラクティスはいつも悩むのですが、とりあえず 2021 年 2 月時点では、こうかなーというのをまとめてみます。 まずテストランナーは jest で確定です。ここで悩む要素はまずありません。 では、React のテストをどうやるか?です。 公式の react-dom/test-utils を使う 公式の react-test-renderer を使う @testing-library/react を使う 選択肢としてはこの三種類が有名なところでしょう。 公式という響きはとても魅力的ですが、実は公式ドキュメントから「ボイラープレートを減らすため、エンドユーザが使うのと同じ形でコンポーネントを使ってテストが記述できるように設計されている、React Testing Library の利用をお勧めします。」という形で、@testing-library

    Reactのユニットテスト2021
  • 【React+TypeScript】Netflixのクローンを作るチュートリアル

    【注意!】 2024年4月末にこちらのの内容を大幅リニューアルしました! https://note.com/terry10/n/nf0674af97617 ※こちらのZennのBookも5/7を目安にリニューアル内容を反映する予定です 多くの人に手に取って欲しいので、リニューアル後は期間限定で無料配布も検討しています。 こちらのツイートで無料配布について告知しています! ↓ https://x.com/teriteri_code/status/1783358352447414464 --- React+TypeScriptを使ったNetflix映画一覧を表示するアプリケーションのチュートリアルです。 学べる事 - ReactのFunctionComponent(関数コンポーネント)とTypeScriptの使用 - React Hooksによるstate管理 - TypeScriptで外

    【React+TypeScript】Netflixのクローンを作るチュートリアル
  • Next.jsに「できるだけ」依存しないReactアプリケーションの構成

    TL;DR 記事で紹介するのは、ReduxReact Router を使った React アプリケーション構築時のベストプラクティスを Next.js に適用した考え方です。 Next.js を外部モジュールと考え、Container/Presentation の Container を Adapter 層と見なす考え方 next/router などの Next.js の組み込みモジュール、Store、SWR(React Query) は Container(Pages) 層で利用する Storybook でコンポーネントを表示する際、Next.js 等のモックをできるだけ作らない 但し、Template 層以下の next/link や next/image への依存は制御できない なお記事では、Next.js の依存層、Pages 層とTemplate 層という言葉は以下のこ

    Next.jsに「できるだけ」依存しないReactアプリケーションの構成
  • 今からでも遅くない!誰も教えてくれなかった React とアクセシビリティーの世界

    この記事は Front-End Study #3 で発表されたライブコーディングの内容を記事にしたものです。記事中のソースコードは GitHub でご覧いただけます。 この記事は、これまで一般的なフロントエンドエンジニアだった私が一年ほどアクセシビリティーについて勉強する上で 「最初に教えてくれればよかったのに〜!」と思った内容 を ReactNext.js を用いて紹介するものとなっています。 読み終わった後に次にコードを書く際にふと意識できるようなアクセシビリティーの普遍的な事実を紹介し、最後に今後の React の動きについて軽く触れるものになっています。目次は次のとおりです: 基事項 SPA のルーティングによる問題 リッチなコンポーネントでの例 Jest + React Testing Library でのテスト Reactとアクセシビリティーの今後の動き 役に立つweb

    今からでも遅くない!誰も教えてくれなかった React とアクセシビリティーの世界
  • ぼくのかんがえたさいきょうの useState + useContext よりも Redux のほうが大抵勝っている

    「Redux は学習コストが高い」などと言って useState(または useReducer)と useContext を組み合わせ 劣化 オレオレ Redux を作ってしまうのを見かけます[1]。よくないことだと思いますが、気持ちは非常にわかります。Redux エコシステムがそういう気持ちにさせてしまう部分は大いにあります。 Redux は それ単体なら 学習コストは useReducer + useContext と同等であることを示してこの気持ち(誤解)を解かしつつ、なぜそういう気持ちになってしまうのか考察してみます。 まず useState と useReducer の違いを押さえておく 知っている方はスキップしてください。 useState と useReducer は質的には同等で、どちらもコンポーネントにステート(状態)を持たせる役割があります。次のようなカウンターアプリ

    ぼくのかんがえたさいきょうの useState + useContext よりも Redux のほうが大抵勝っている
  • 【React】Hooks(関数コンポーネント)の挙動を検証しながら確認する回 - Qiita

    Hooks の挙動を具体的に説明できる自信がない... みなさん、 useEffect とか useState とか、なんとなく使っていませんか? stateの更新後に値が反映されるタイミングやuseEffect が再実行されるタイミングを具体的に説明できますか? 自分はこの辺があやふやだったので、調べたり検証したりしてみました。 関数コンポーネントのライフサイクル 関数コンポーネント+Hooksのライフサイクル は、こちらの サイトに載っている図を見ていただけたらなんとなく理解できると思います。 コンポーネントにはざっくり分けてマウントと更新とアンマウントのライフサイクルがあって、それぞれのタイミングで処理が実行されているってことがわかりますね。 更新やアンマウントが走るタイミングなどについては後ほど触れます。 再レンダリングとDOMの更新の挙動 ※ この記事ではコンポーネントの関数が実

    【React】Hooks(関数コンポーネント)の挙動を検証しながら確認する回 - Qiita
  • CSSモジュール ― 明るい未来へようこそ | POSTD

    ここ最近、CSSに対する考え方が広がりを見せています。皆さんの中には、その転換点を見つけようと、Christopher Chedeauの”CSS in JS”という講演を聞いた方もいるでしょう。2014年11月にNationJSで行われたこの講演は、CSSにおける重大な分岐点となりました。まるで高エネルギー粒子が衝突した後のように、それを機に、数ある多様な考え方が、各々の方向へ渦を描くように広がったのです。その例として、 React Style と jsxstyle 、 Radium を挙げましょう。これら3つは、Reactのスタイリングにおける最新かつ最良、そして最も実行しやすいアプローチに含まれており、 各々のプロジェクトのReadmeファイルでも、 そのように言及しています。もし”発明”が、 adjacent possible(一歩先にある可能性) を探ることの一例であるのなら、Ch

    CSSモジュール ― 明るい未来へようこそ | POSTD
  • Reactを自作しよう

    この記事は Build your own React を翻訳したものです。 Reactを1から書き直していきます。 実際のReactコードのアーキテクチャに従いますが、最適化機能と必須ではない機能は今回は実装しません。 Step 1: createElement関数 Step 2: render関数 Step 3: 並列モード Step 4: ファイバー Step 5: Render Phase と Commit Phase Step 6: 差分検出 Step 7: 関数コンポーネント Step 8: Hooks Step 0 復習 最初にいくつかの基的な概念を確認しましょう。 React、JSX、およびDOM要素がどのように機能するかをすでに理解している場合は、この章はスキップしても構いません。 今回は、次のわずか3行のコードをReactアプリの例として使用します。 const ele

    Reactを自作しよう
  • 【フロントエンド】コンポーネント指向 React / Vue のテスト方針 - Qiita

    はじめに 今回紹介するのは、ReactVue などの「コンポーネント指向のフロントエンド開発」における「テスト方針の考え方」と、それを実現するための「方法論」です。 初めて React などのコンポーネント指向のテストを書くとき、どういう考え方・方針でテストを書いていくのか分からず悩んだ人も多いのではないでしょうか。 この記事ではその疑問の1つの解として、React 公式で推奨されているテストライブラリ Testing Library の開発者であり、Testing Trophy というテストコンセプト考案者でもある Kent C. Dodds の考え方とその実現方法を紹介していきます。 社内のシステムでも実際にこの Kent のコンセプトに従いテストの運用をしていますが、これによって「壊れにくいテスト」がフロントエンドReact)で書きやすくなっています。より正確に言うと「壊れる

    【フロントエンド】コンポーネント指向 React / Vue のテスト方針 - Qiita
  • フロントエンド(React Testing Library)で TDD(テスト駆動開発)をする

    私はフロントエンドエンジニアとして働いてはいるのですが、巡り合わせが悪いのでしょうか?まともなテストを書いたことがないんですよね。まあ、それもでテストくらい書けないとなぁ。なんて思ってはちょいちょい調べたりする日々を過ごしていました。 そんなある日、たまたま TDD(テスト駆動開発) についての動画を視聴してみました。 TDD 自体は知ってはいて、なんとなく知っているくらいの知識ではありましたが、分かりやすい説明とその思想が好きで、のめり込むように見てしまいました。 その後も何度か視聴して、フロントエンドでも TDD したいなと考え始めました。 普段テストすら書いていないのにいきなり TDD とも思わないこともなかったですが、実際に普段自分がさわっているようなコードに落とし込んで書いていくと、テストする当の意味というものが、より正確に理解できてきたような気がします。 そんなテスト初心者の

    フロントエンド(React Testing Library)で TDD(テスト駆動開発)をする
  • useEffect完全ガイド

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

  • React.Suspenseの力を最大化する、GraphQLの次世代ディレクティブ @ defer と @ stream - nakamoriのblog

    React.Suspenseの力を最大化する、GraphQLの次世代ディレクティブ @ defer と @ stream ReactのSuspense、素敵ですよね。 この記事ではGraphQLのワーキンググループで仕様の策定が進んでいる@deferと@streamについて解説します。@deferと@streamはReactのSuspenseの力を引き出す、注目すべきディレクティブです。 なお、これらのディレクティブの仕様はワーキンググループでほぼ合意できていますが確定した仕様ではないことに注意してください。 Suspenseは最高だ! あるブログの記事の一覧ページを例に見てみます。 記事一覧ページを表示するためのGraphQLのクエリは次のようになります。1 query { articles(page: 1) { # 記事一覧(1ページ目) title # タイトル body # 文章(

    React.Suspenseの力を最大化する、GraphQLの次世代ディレクティブ @ defer と @ stream - nakamoriのblog
  • Next.js の状態管理 2020

    Next.js といえば、SSG(JAMstack)が最近は特に話題ですね。1年前まではgetInitialPropsを用いて、どう SSR するのかという事が話題の中心でした。Next.js 9.3 以降、SSR をする際にはgetInitialPropsではなくgetServerSidePropsを使用することを推奨すると記載されています。(そして、getInitialPropsを使用することで自動最適化が無効となってしまう旨も)getStaticPropsやgetServerSidePropsを利用することで、私たちは SSG・SSR をページ単位で切り替えることができます。 「SSG・SSR」が共存する可能性がある場合、SSR にはgetServerSidePropsを利用することになります。この変化による影響範囲は多大で、状態管理とデータフェッチについて、再考する必要がでてきまし

    Next.js の状態管理 2020