いつの間にか、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(