1つの観察データ(観測)
観察可能な変化は観測された方法を用いることができるデータの方法です。
これらのデータを観察することができますか?
- 元の型
文字列、数値、ブール値、シンボル
- オブジェクト
- アレイ
コードは、データが観測された方法を感謝しました:
1)NPMはmobxの信頼を搭載しました
コマンドを実行します。NPM私mobx -S
2)index.jsファイルは、インポート機能は、パッケージmobxから観察可能です
インポート「mobx」から{観察}。
3)観察対象に観察可能な変数によって
任意の変数をmobx、に対処するための2つの方法があります。
- マップおよびES6におけるオブジェクトの配列
直接観察可能な観察対象を変換する関数として変数、その後に、地図アレイ妥当な操作でデータ。
>アレイ(配列)
'mobx'から観察{インポート、isArrayLike}; //インポート観察{}から'mobx'; CONST観察ARR =([ 'A'、 'B'、 'C']); はconsole.log(ARR [0] 、(「D」))arr.push、 結果は直接観測関数の戻り配列、および導入isArrayLikeモジュールでない//場合、返される配列に相当する //アレイ法の数を用いることができるが、できない注意を払うに方法アレイデータアレイの境界をアクセスまたは変更、mobxは、クロスボーダーのアクセスを監視しません
>オブジェクト(物体)
インポート'mobx'から{}観察、 CONST観察OBJ =({A :. 1、B:} 1) にconsole.log(obj.a、obj.b); // mobx既存のデータのみを監視することができますあなたが新しく追加されたプロパティを監視する場合は、使用extendObservable()メソッドが提供さmobx。 //それは、すべての手続きのプロパティが使用されます示してプログラムの初期化するのがベストです。
>マップ
インポート'mobx'から{}観察、 CONST =観察マップ(マップ新しい新しい()); map.set( 'A' ,. 1); ;はconsole.log(map.has( 'A')) '(map.delete 「); はconsole.log(map.has(」A「)); 配列と//戻された結果の類似のタイプが真マップが、性能マップに近い十分ではない、マップは、いくつかのメソッドを呼び出すことができます
- 他のタイプ
変数の直接割り当てのために監視された後などの文字列、数値、ブール値、などのいくつかのプリミティブデータ型は、変数ラッパーオブジェクトへのコールobservable.boxへの必要性が、観察されます。
;インポート'mobx'から{}観察 CONST NUM = observable.box(20)と、 CONST = observable.box STR( 'こんにちは'); CONST = BOOL observable.box(真の); //はconsole.log(NUM、STR 、ブール値); //は、パッケージデータを観察することができる返す はconsole.log(num.get()、str.get()、bool.get()); num.set(1)。 str.set ( '〜こんにちは'); (falseに)bool.set; はconsole.log(num.get()、str.get()、bool.get()); //セットで、元の型の得られた値を使用する方法を取得します元の型の値を変更する方法
4)修飾宣言デコレータ観察可能なオブジェクトを使用して
デコレータは、クラスまたはクラスのメンバーを変更することができますので、私たちは授業で観察可能な使用して観察することができるデータを作成し、クラスを作成します。
観測可能なの簡素化mobx改ざんAPI関数には、電流の関数として同定することができるである通常の関数はまだ考えられているコールデコレータの呼び出しかのように、変更がある呼び出されるように、自動的に変数の型を識別し、異なるを使用します変換プログラムをパッケージ化。
'mobx'からインポート{観察、isArrayLike}。 クラスストア{ @observable配列= []; @observable OBJ = {}; @observableマップ=新しいMap(); @observable文字列= 'こんにちは'; @observable数= 20。 @observable BOOL =偽; }
二つのペアは(どのようにオブジェクトが変更されて知っていますか?)のデータに反応することが観察しました