2021-11-11に更新

Riverpod v1とFlutter Hooksの使い方

どうも昨日か今日(2021/11/6)あたりにRiverpodのバージョン1が正式リリースされていたようです。めでたい!

image.png

hooks_riverpodも同時に1.0.0になっています。ということで使い方のメモ。といってもExampleに載っています。

Widgetの変更

元々HookWidgetを継承してウィジェットを作っていましたが、HookConsumerWidget に変更となりました。(Hookを使わない場合はConsumerWidget)

class MyHomePage extends HookConsumerWidget {
  const MyHomePage({Key? key}) : super(key: key);

読み込みの変更

値の読み込み方法も変更となります。

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final records = ref.watch(recordsProvider);

buildメソッドにはWidgetRefの引数が付きます。useProviderは無くなったので代わりにこのrefを使うことで値の読み取りを行うことができます。

更新の変更

値の更新方法も同様に変更となります。今までは context.read を使っていたと思いますが、refを使う ref.read に変更となります。

      ref.read(recordsProvider.notifier).setRecords(RecordRepository.all());

まとめ

あわせて公式サイトもようやくリニューアルされたようなので見直してみると良いでしょう。

https://riverpod.dev/

ツイッターでシェア
みんなに共有、忘れないようにメモ

だら@Crieit開発者

Crieitの開発者です。 Webエンジニアです(在宅)。大体10年ちょい。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel, React, Flutter, Vue.js, Node, RoR 趣味:Elixir, Phoenix, Nuxt, Express, GCP, AWS等色々 PHPフレームワークちいたんの作者

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント