[Flutter] GetX
最近、卒業の準備のために、ある会社のプロジェクトに参加しました.
flutter 1.xバージョン+blocモードのプロジェクトで、私が担当しているのは
flutter 2.は、xバージョン+GetXへの移行です.
でも、こいつGetXは甘くて、正確に何かを知らないと、何を書いているのか分からないような気がするので、整理したいので、ついでに投稿します.
最初のpost日付を基準に、最新バージョンget 4.6.1.
これは私が見たいpostです.内容は省略するかもしれませんが、後で暇を見つけて全部整理するつもりです.
GetX
現在のstate Managementだけでなく、flufパッケージの中で最も人気のあるパッケージです.
GetXと呼ばれていますが、パッケージ名は簡単にgetと呼ばれています
紹介されているものが多いですが、まずはアクセス機能についてお話ししましょう!
Installing Terminal import
ルーティング管理
GetXは簡単なルーティング管理を提供します.
次は原ルートの移動方法です.
{すべてのルーティングを取得します.toNameに切り替え
ステータス管理
ステータス管理にもいろいろな方法があります.
その中で一番便利な方法はOBxのようですが、他の方法を使う場合もありますが…
宣言変数+使用変数
コントローラにステータス変数を宣言します.
宣言の仕方はいろいろありますが、
シンプルなステータス管理
もちろんGetBuilderと同時にobsを使うことができます!
最も簡単な方法は
.obx + Obx(() {})
反応状態管理変数宣言のもう1つの方法は、次のとおりです.
var count = Rxn(0); -> 初期値がない場合null
あります.
Rx(0)であってもよく、nはnullを表す
flutter 2.xではRxnの方が良いかもしれません.
しかし問題が発生しました...
Scaffoldにはappbar、bodyなどいろいろあります.
Obx()では、主にWidgetの位置であり、それを置き換える役割を果たす.
appbarとbodyでそれぞれObxを作って、コードが汚く見えます...
だから考え方はScaffoldをObxに入れること!
エラーが発生しました.
OBSとObxは万能だと思っていたので、そのままGetXを勉強し直しました.
こんな時に使うのは?
GetBuilderの使用
Scaffold以外でGetXまたはObxを使用するとエラーが発生します.
ただし、GetBuilderではエラーは発生しません.
むしろもっと
正直に言うと、勉強を続けることができて嬉しいです.
依存関係の管理
これはまた勉強して書きます!
flutter 1.xバージョン+blocモードのプロジェクトで、私が担当しているのは
flutter 2.は、xバージョン+GetXへの移行です.
でも、こいつGetXは甘くて、正確に何かを知らないと、何を書いているのか分からないような気がするので、整理したいので、ついでに投稿します.
最初のpost日付を基準に、最新バージョンget 4.6.1.
これは私が見たいpostです.内容は省略するかもしれませんが、後で暇を見つけて全部整理するつもりです.
GetX
現在のstate Managementだけでなく、flufパッケージの中で最も人気のあるパッケージです.
GetXと呼ばれていますが、パッケージ名は簡単にgetと呼ばれています
紹介されているものが多いですが、まずはアクセス機能についてお話ししましょう!
Installing
flutter pub add get
import 'package:get/get';
使用する機能に応じて異なるimportを使用できますが、上のコードを簡単に書いても問題ありません.ルーティング管理
GetXは簡単なルーティング管理を提供します.
次は原ルートの移動方法です.
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) => NextPage(),
),
);
これはGetXで以下のように使えます.Get.to(NextPage());
TODO{すべてのルーティングを取得します.toNameに切り替え
ステータス管理
ステータス管理にもいろいろな方法があります.
その中で一番便利な方法はOBxのようですが、他の方法を使う場合もありますが…
宣言変数+使用変数
コントローラにステータス変数を宣言します.
宣言の仕方はいろいろありますが、
シンプルなステータス管理
class Controller extends GetxController {
// 단순하게 변수를 만들어주면 된다.
int count = 0;
void increment() {
count++;
update();
}
}
// 사용은 아래처럼하면 된다.
GetBuilder<Controller>(
builder: (c) {
return Text("${c.count}");
}
}
レスポンスステータス管理class Controller extends GetxController {
// 반응형 상태 관리는 .obs를 붙여준다.
var count = 0.obs
void increment() {
count.value++;
}
}
// 사용은 아래처럼하면 된다.
ObX(() {
return Text("${_controller.count.value}");
}
反応型も使いやすくていいです.もちろんGetBuilderと同時にobsを使うことができます!
最も簡単な方法は
.obx + Obx(() {})
反応状態管理変数宣言のもう1つの方法は、次のとおりです.
var count = Rxn(0); -> 初期値がない場合null
あります.
Rx(0)であってもよく、nはnullを表す
flutter 2.xではRxnの方が良いかもしれません.
しかし問題が発生しました...
Scaffoldにはappbar、bodyなどいろいろあります.
Obx()では、主にWidgetの位置であり、それを置き換える役割を果たす.
appbarとbodyでそれぞれObxを作って、コードが汚く見えます...
だから考え方はScaffoldをObxに入れること!
Obx(() {
return Scaffold(
appbar: ~~,
body: ~~
);
}
それは不可能だエラーが発生しました.
OBSとObxは万能だと思っていたので、そのままGetXを勉強し直しました.
こんな時に使うのは?
GetBuilderの使用
Scaffold以外でGetXまたはObxを使用するとエラーが発生します.
ただし、GetBuilderではエラーは発生しません.
GetBuilder<Controller>(
builder: (c) {
return Scaffold(
appbar: ~~,
body: ~~
);
}
)
結局歩きやすくしようとしたが、結局回ってしまった.むしろもっと
正直に言うと、勉強を続けることができて嬉しいです.
依存関係の管理
これはまた勉強して書きます!
Reference
この問題について([Flutter] GetX), 我々は、より多くの情報をここで見つけました https://velog.io/@leekim611/Flutter-GetXテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol