プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

私がオススメするプログラミング教材です

私がおすすめするプログラミング教材のまとめ【書籍】

目次1 これからエンジニアになりたい人へ向けた本2 プログラミング言語3 アプリ開発4 サーバー、インフラ、セキュリティなど5 機械学習系6 ゲーム開発7 データベース8 デザイン9 組織作り10 自作シリーズ11 その他12 おまけ これ ...

続きを見る

【Flutter入門】Providerの説明と使い方

更新日:

記事の内容


この記事では、Providerの説明と、その使い方について説明します。
Providerのバージョンは4系です。

Providerを使う場合と使わない場合の違い

Providerを使わないでデータを共有する方法

まずは、Providerを使わないでデータを共有する方法を説明します。
下記の図の場合、topDataを共有しようとすると、下にいくにつれてコンストラクタにデータを渡していく必要があります。

Providerを使ったデータの共有方法

次に上の図で、Providerを使ってtopDataを共有する方法を書いてみます。
providerのversionは以下の通りです。
versionによって書き方が異なるので十分に気を付けて下さい。

cupertino_icons: ^0.1.2
provider: ^4.1.2

この場合、コンストラクタにデータを渡す必要がなくなっています。
Dataクラスの設定

class Data extends ChangeNotifier {
  String topData = 'This is top data!!!';
}

ChangeNotifierProviderの設定

ChangeNotifierProvider(
  create: (_) => Data(),
  child: MyApp(),
),

Providerとデータの更新方法

次にもう少し複雑で、TextFieldからデータを更新する場合を見ていきます。

MultiProviderの設定

MultiProvider(
  providers: [
    ChangeNotifierProvider(
      create: (_) => Data(),
    ),
    Provider(
      create: (_) => MyText(),
    ),
    Provider(
      create: (_) => MyTextField(),
    )
  ],
  child: MyApp(),
),

changeStringメソッドの定義

void changeString(String value) {
  topData = value;
  notifyListeners();
}

onChangedの中で、changeStringの呼び出し

onChanged: (newValue) {
  context.read().changeString(newValue);
},

DartとFlutterをより詳しく勉強したい人には、この記事がオススメです

Dart
FlutterとDartの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 初心者向け3 中級者向け 動画教材 Flutter & Dart - The Complete Guide [2023 Edition] ▼ 興味がある方は、画像をクリック 英語版ですが、人気のコースです。 Fl ...

続きを見る


SwiftでiOSアプリを開発したい人には、この記事がオススメです

Swiftの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 初心者向け3 中級者向け 動画教材 【iOS】SwiftUI 超入門 - Swift を基礎から学んで iOS (iPhone) アプリを開発しよう ▼ 興味がある方は、画像をクリック Swift , SwiftUI , ...

続きを見る


KotlinでAndroidアプリを開発したい人には、この記事がオススメです

Kotlinの勉強でおすすめの本と動画【2024年最新】

目次1 動画教材2 初心者向け3 中級者向け 動画教材 はじめての Kotlin【Java 知らなくてOK!丁寧な解説で Android に必要な Kotlin の基本を学習】 ▼ 興味がある方は、画像をクリック 今学ぶべき言語、Kotli ...

続きを見る


Gitをより詳しく勉強したい人には、この記事がオススメです

Gitの学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 漫画?でわかりやすく学ぶ入門書の定番3 初心者向け4 中級者向け5 上級者向け 動画教材 もう怖くないGit!チーム開発で必要なGitを完全マスター ▼ 興味がある方は、画像をクリック Gitの基本コマンド、ブランチやマ ...

続きを見る


ゼロからWebエンジニアになりたい人には、この記事がオススメです

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 目次1 私が定義するWebエンジニア2 必ずやるべきこと3 推奨されること4 まとめ 私が定義するWebエ ...

続きを見る


独学で実務っぽい経験を積みたい人には、この記事がオススメです

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? 目次1 スクールの理想と現実2 IT業界が抱える矛盾点3 擬似的に実 ...

続きを見る

-Flutter, プログラミング

Copyright© プログラミング道場 , 2024 All Rights Reserved Powered by AFFINGER4.