LoginSignup
1
0

More than 1 year has passed since last update.

Riverpod V1~ HookConsumerWidgetに

Posted at

いつの間にか、HookConsumerWidgetが目立つようになったと思ったら、Riverpod v1.0.0 からuseProviderが無くなったからなんですね。Riverpodは状態管理を行うためのパッケージなので、さらっと変更点を修正。そこまで大規模な実装でなければ、手動でマイグレーションでもいいですがriverpod_cliでサクッとマイグレートしましょう。

dart pub global activate riverpod_cli

プロジェクト内にコンパイルエラーがないか確認後に

riverpod migrate

実行して下さい。

変更前

main.dart
class App extends HookWidget {
  const App({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {

変更後

main.dart
class App extends HookConsumerWidget {
  const App({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context, WidgetRef ref) {

変更前

main.dart
Widget build(BuildContext context) {
    final id = useProvider(selectedFormId);

    return useProvider(form(id)).when(

変更後

main.dart
 Widget build(BuildContext context, WidgetRef ref) {
    final id = ref.watch(selectedFormId);

    return ref.watch(form(id)).when(

変更前

main.dart
return HookBuilder(
              builder: (context) {
                final form = useProvider(

変更後

main.dart
 return HookConsumer(
                  builder: (context, ref, child) {
                    final form = ref.watch(

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0