結構な破壊的変更が入っているようです。
riverpod,flutter_riverpod,hooks_riverpodそれぞれでCHANGELOGに書かれている内容が微妙に違うので詳しくは使っているパッケージのものを参照しましょう。
それぞれ以下を参照してください。
- riverpod
![](https://tokku-engineer.tech/wp-content/uploads/cocoon-resources/blog-card-cache/251f1f4f957315bd1e670efab29ccc60.png)
riverpod changelog | Dart package
A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
- flutter_riverpod
![](https://tokku-engineer.tech/wp-content/uploads/cocoon-resources/blog-card-cache/251f1f4f957315bd1e670efab29ccc60.png)
flutter_riverpod changelog | Flutter package
A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
- hooks_riverpod
![](https://tokku-engineer.tech/wp-content/uploads/cocoon-resources/blog-card-cache/251f1f4f957315bd1e670efab29ccc60.png)
hooks_riverpod changelog | Flutter package
A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
useProviderの件
タイトルのuseProviderは個人的にめちゃくちゃ使っていたのですが、破壊的変更により消滅しました、、、
詳細はこちらに記載があります。
- 以前までの書き方
class Example extends HookWidget {
@override
Widget build(BuildContext context) {
useState(...);
int count = useProvider(counterProvider);
...
}
}
- 1.0.0以降の書き方
class Example extends HookConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
useState(...);
int count = ref.watch(counterProvider);
...
}
}
HookWidgetを継承していたのが、HookConsumerWidgetを継承しなければいけなくなり、overrideするメソッドの引数もWidgetRefというのが追加になっています。
Providerを呼び出すのにuseProviderは使えなくなり、今後はref.watchで呼ぶ必要があるようです。
それ以外も、ConsumerWidgetを継承したときのbuildメソッドの引数がやはり変更になりこれもWidgetRefを受け取り、ref経由で呼び出すように変更になっています。
コメント