hooks_riverpod useProvider is removed in favor of HookConsumerWidget

https://pub.dev/packages/hooks_riverpod/versions/1.0.0-dev.2/changelog

ConsumerWidgetみたいに、build()の引数が一つ増えてref.watch()にproviderを入れるようです。

理由としては下記のようです。

[RFC] Unifying syntax for listening to providers (v2) · Issue #335 · rrousselGit/river_pod · GitHub

While hooks_riverpod doesn't suffer from the problem listed at the start of the issue, the logic wants that hooks_riverpod should also use the same syntax too (both to reduce confusion and simplify maintenance).

さらに

This would also clarify that the only purpose of hooks_riverpod is to use both hooks and Riverpod simultaneously.

逆に、StatelessWidgetから書き換える時は引数が一個増えるので、ほんのちょっと面倒です。

で話は変わりますが、

flutter_hooks: ^0.17.0
hooks_riverpod: ^1.0.0-dev.2

の組み合わせでthemeModeの切り替え機能を作りました。

そこではさらに、primarySwatchとaccentColorにColors.blueを指定して、 TextのcolorにprimaryColorとaccentColorを設定した場合の比較を行いました。

なんでこんな事してみたかというと、primaryColorをtextでいろいろなところに使いたいと言う要望があったからです。

最初に実装した人は、TextにColor(0xff2699fb)を直接指定していました。

Colors.blueの2196f3とも微妙に違う謎な値(見た目に違いはわからない)なのはさておき、これだとthemeModeを切り替えても文字の色が切り替わりません。

まあ、黒背景に青なので見えないこともないですが、マテリアルデザイン的にどうなんだろ。。。まだいい結論は出てないです。