Reactガイドを読んでいくその304

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org サスペンスを使ったデータ取得(実験的機能) 現環境でのサスペンスの使用 FacebookではRelay のサスペンス連携機能のみすでに利用しているらしい。 Relay を使ってない場合はも…

Reactガイドを読んでいくその303

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org サスペンスを使ったデータ取得(実験的機能) そもそもサスペンスとは何なのか? 昨日も触れたようにサスペンスはレンダー可能になる前にコンポーネントが何かを待機できるように…

Reactガイドを読んでいくその302

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org サスペンスを使ったデータ取得(実験的機能) React 16.6 で追加されたコードのロードを待機してロード中状態を指定できるSuspenseコンポーネントが追加された。 const ProfilePa…

Reactガイドを読んでいくその301

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org] 研究からプロダクトへ 並列モードは以下を目標に掲げているらしい。 目標は、人間・コンピュータ間の相互作用に関する研究から得られた知見を現実の UI に取り込むことです。 Re…

Reactガイドを読んでいくその300

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org] 並列モードの導入(実験的機能) 並列性 これまでの2つの例から統合の仕方を見ていく。 並列モードではReactは複数の状態の更新を同時に行うことができる。 CPUバウンドな更新の…

Reactガイドを読んでいくその299

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org] 並列モードの導入(実験的機能) 計画的なローディングシーケンス ブランチの作業は短期的なものもそうだけど、時間をかけて十分になるまで維持することもある。 それと同様に並…

Reactガイドを読んでいくその298

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org] 並列モードの導入(実験的機能) 中断可能なレンダリング フィルタ出来るリストがあった場合、リストのフィルタにタイピングをしようとすると、 都度検索が走って引っ掛かりのよ…

Reactガイドを読んでいくその297

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org] 並列モードの導入(実験的機能) ブロッキングレンダリングと中断可能レンダリング Git以前のバージョン管理はほかの人が作業をしていると触ることすらできなかった。 ブランチ…

Reactガイドを読んでいくその296

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org] 並列モードの導入(実験的機能) 並列モードとは? Reactアプリをレスポンシブに保ち、デバイスの能力やネットワークの速度にうまく適応できるようにするための新機能群。 実験…

Reactガイドを読んでいくその295

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org 並列モードの導入(実験的機能) まだ安定リリースされてない機能らしい。 ビギナーはお呼びじゃない機能なのであまりやらなくてもよいとか。 セクションとしてはこんな構成らし…

Reactガイドを読んでいくその294

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テスト環境 End-to-end テスト E2Eテストは長いワークフローをテストするのに向いており、 本物のブラウザを使い、実運用に即したテストを行う。 Cypress のようなフレームワーク…

Reactガイドを読んでいくその293

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テスト環境 タイマーのモック コンポーネントがsetTimeout、setInterval や Date.now といった時間に依存する関数を使っていた場合 関数部分をモックで置き換えて手動で操作をで…

Reactガイドを読んでいくその292

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テスト環境 モジュールのモック テストに関係ない場所に依存しているコンポーネントをテストしたい場合、 その部分だけをモック化して適切な代替物で置き換えることができるので…

Reactガイドを読んでいくその291

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テスト環境 関数のモック テストを書く際はテスト環境に同等物がないコードのモック化をしたい場面がある。 関数の監視をしてテストの部位が関数同士でどのように作用するか観察…

Reactガイドを読んでいくその290

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テスト環境 描画画面のモック jsdomを使って描画のテストをするとよい。 ブラウザとほぼ同様の動きをするが、レイアウトやナビゲーションがないのは注意。 ユーザ操作のモデルを…

Reactガイドを読んでいくその289

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テスト環境 Jest、mocha、avaといったテストランナーをつかうとJavaScriptでテストスイートを書き、実行できるようになる。 テストスイートは継続的インテグレーションの一部とし…

Reactガイドを読んでいくその288

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テストのレシピ集 複数のレンダラ レアケースだが、複数のレンダラを使うコンポーネントへテストをしないといけない場合がある。 react-test-rendererを使っているがその子のコン…

Reactガイドを読んでいくその287

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テストのレシピ集 スナップショットテスト JestのようなフレームワークではtoMatchSnapshot / toMatchInlineSnapshotを使う。 これでスナップショットを保存できる。 一般的には…

Reactガイドを読んでいくその286

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テストのレシピ集 タイマー タイマー用のモックもある 例えばこんな感じ // card.test.js import React from "react"; import { render, unmountComponentAtNode } from "react-d…

Reactガイドを読んでいくその285

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テストのレシピ集 イベント DOMの要素に対して本物のDOMイベントをディスパッチ。 結果に対してアサーションを行うようにした方が良い。 React ではイベントは自動的に document …

Reactガイドを読んでいくその284

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テストのレシピ集 モジュールのモック化 テスト環境ではうまく機能しないもの、本質的にテストとは違うもの、色々なモジュールがある。 これらをダミーに差し替えることでテスト…

Reactガイドを読んでいくその283

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テストのレシピ集 データの取得 本当のAPIを呼ぶ代わりにリクエストをモック化してダミーデータを返すようにできる。 フェイクデータを用意することでバックエンドが利用できない…

Reactガイドを読んでいくその282

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テストのレシピ集 レンダー 与えられたpropsに対してコンポーネントが正しくレンダーされているかをテストしたい場合、propsに合わせてメッセージレンダーをするコンポーネントを…

Reactガイドを読んでいくその281

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テストのレシピ集 act() UIテストを記述するときのレンダーなどはインタラクションのユニットと考えられる。 Reactのact()はアサーション前にユニットに関する更新が実行され、DO…

Reactガイドを読んでいくその280

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テストのレシピ集 セットアップ/後始末 通常Reactツリーをdocumentに結び付いたDOM要素として描画する。 テスト終了後にクリーンアップを行いdocumentからツリーをアンマウントす…

Reactガイドを読んでいくその279

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テストのレシピ集 React コンポーネントのための一般的なテストのパターン集。 きのうみたJestで利用することを前提としたレシピ集。 ラインアップは以下のようになっている。 ・…

Reactガイドを読んでいくその278

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テスト概要 推奨ツール Jestを使う。 jsdomを通じてDOMにアクセスできるJavaScriptテストランナーになる。 jsdomはブラウザ模倣環境だが、基本的にはこれで困らない。 最終的なテ…

Reactガイドを読んでいくその277

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テスト概要 トレードオフ テストツールの選定にはトレードオフの考慮が発生する。 実行速度vs環境の現実度:フィードバックの早いツールはブラウザでの挙動を正確に再現しない 実…

Reactガイドを読んでいくその276

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org テスト概要 JavaScript同様にテストが可能。 大きく二つに分けることができる。 コンポーネントツリーのレンダリングをシンプルなテスト環境で行いその結果を検証する。 アプリケ…

Reactガイドを読んでいくその275

これは Reactのガイドを読んでいく記事です。 ガイドのリンク ja.reactjs.org フック API リファレンス useDebugValue React DevToolsでカスタムフックのラベルを表示することができる。 useFriendStatysを使った例 function useFriendStatus(friendID) { co…