[読書会]flutter_hooks 翻訳及び補足(目次)

github.com/rrousselGit/flutter_hooks(開始URL: https://github.com/rrousselGit/flutter_hooks?tab=readme-ov-file#existing-hooks)の翻訳及び補足をしてあります。

本ブログの(上記flutter_hooksの)翻訳および解説の目次頁(構成上のトップページ)は次のURLになります。

Flutter Hooks

参照:ReactフックのFlutter実装: (https://medium.com/@dan_abramov/making-sense-of-react-hooks-fdbde8803889

フックはウィジェットのライフサイクルを管理する新しい種類のオブジェクトです。
フックが存在する理由はひとつ、重複を取り除くことでウィジェット間のコード共有増やすためです。

1.Motivation

2.Principle

3.Rules

4.About hot-reload

5.How to create a hook

6.Existing hooks

Flutter_Hooksにはすでに再利用可能なHooks のリストが付属しており、それらは様々な種類に分かれている:

6-1.Primitives

ウィジェットのさまざまなライフサイクルと相互作用する低レベルHooks のセットです。

Hooks名機能説明
useEffect副作用や、オプションで副作用をキャンセルするのに便利。
useState変数を作成し、その変数を購読する。
useMemoized複合オブジェクトのインスタンスをキャッシュします。
useRef変更可能なプロパティを1つ持つオブジェクトを作成します。
useCallback関数インスタンスをキャッシュします。
useContextビルド中のHookWidgetのBuildContextを取得します。
useValueChanged値を監視し、値が変更されるたびにコールバックをトリガする。

6-2.Object-binding

このカテゴリのHooks は、既存のFlutter/DartオブジェクトをHooks で操作する。
オブジェクトの作成/更新/破棄を引き受けてくれる。

6-2-1.dart:async 関連 hooks:

Hooks名機能説明
useStreamStream にサブスクライブし、その現在の状態を AsyncSnapshot として返します。
useStreamController自動的に破棄される StreamController を作成します。
useOnStreamChangeStream にサブスクライブし、ハンドラを登録し、StreamSubscription を返します。
useFutureFuture にサブスクライブし、その現在の状態を AsyncSnapshot として返します。

6-2-2.Animation 関連 hooks:

Hooks名機能説明
useSingleTickerProvider単一の使用法の TickerProvider を作成します。
useAnimationController自動的に破棄される AnimationController を作成します。
useAnimationAnimation を購読し、その値を返します。

6-2-3.Listenable 関連 hooks:

Hooks名機能説明
useListenableSListenable を購読し、リスナーが呼び出されるたびに、ウィジェットをビルドする必要があるとマークします。
useListenableSelectoruseListenableと似ているが、UIの再構築をフィルタリングできる。
useValueNotifier自動的に破棄される ValueNotifier を作成します。
useValueListenableValueListenable をサブスクライブし、その値を返します。
useOnListenableChange指定されたリスナーのコールバックを自動的に削除される Listenable に追加します。

6-2-4.その他の hooks:

Hooks名機能説明
useReducerより複雑な状態のための useState の代替。
usePrevious[usePrevious]に呼び出された前の引数を返す。
useTextEditingControllerTextEditingController を作成します。
useFocusNodeFocusNode を作成します。
useTabControllerTabController を作成し、破棄します。
useScrollControllerScrollController を作成し、破棄します。
usePageControllerPageController を作成し、破棄します。
useFixedExtentScrollControllerFixedExtentScrollController を作成し、破棄します。
useAppLifecycleState現在のAppLifecycleStateを返し、変更時にウィジェットを再構築します。
useOnAppLifecycleStateChangeAppLifecycleStateの変更をリッスンし、変更時にコールバックをトリガーする。
useTransformationControllerTransformationController を作成し、破棄します。
useIsMountedState.mountedに相当するフック。
useAutomaticKeepAliveフック用のAutomaticKeepAliveウィジェットに相当するもの。
useOnPlatformBrightnessChangeプラットフォームの明るさの変更をリッスンし、変更時にコールバックをトリガーする。
useSearchControllerSearchController を作成し、破棄します。
useWidgetStatesControllerWidgetStatesController を作成し、破棄します。
useExpansionTileControllerExpansionTileControllerを作成します。
useDebounced提供された値のデバウンスバージョンを返し、指定されたタイムアウト時間後にそれに応じてウィジェットの更新をトリガーする
useDraggableScrollableControllerDraggableScrollableController を作成します。

コメントを残す