私はこれらのuserData
デフォルトであるAuthStoreていますMobX - ユーザプロファイルの異なる分野とヌル、デフォルトの問題
@observable userData = {
username: null,
firstname: null,
lastname: null,
email: null
}
オブジェクトはそれぞれのフィールドでのログイン時に読み込まとは以下のように見えます。
@observable userData = {
username: "jdoe",
firstname: "john",
lastname: "doe",
email: "[email protected]" <— This field is special
}
電子メールフィールドは特殊です。認証されたユーザーのプロファイルに自分のプロファイルを表示している場合にのみ取得または存在させる必要があります。別のユーザーのプロフィールにアクセスすると、他のすべてのフィールドは電子メールを除いて存在し、電子メールなしでAPIから取得されます。
これらは2つの異なるタイプのユーザーであるため、電子メールを表示する認証ユーザーと、他のユーザーを訪問するときに電子メールはありません。この複数のuserDataユースケースを処理する最良の方法は何ですか?
電子メール以外の同じ繰り返しフィールドを持つ2つの店舗がありますか?上記のメールはAuthStoreにそのまま残して、別のUserStoreと同じフィールドにメールがなく、2つの異なる固有のownerProfile.js(authユーザー用)とprofile.js(他のユーザー用)を作成しますか?これは正しく感じられません...
ログインしているuserDataオブジェクトを保存して、アプリケーションの更新時に取得するには、どうすればよいですか?現在、アプリの更新時にプロファイルのuserDataフィールドを空にして私はAuthStore.userData.username.toUpperCase()を使用しているため、プロファイルにエラーが発生します。 nullで.toUpperCase()を実行しようとしているため、エラーが発生します。
私は水和物/ toJsonに出くわしたが、私は全部で混乱、および/それらを実装する方法場合、または、彼らは私の問題を解決している場合でも、でも、わかりません。私は自分のプロジェクトに立ち往生しており、この問題のために前進することはできません。
MobXを使用してこれを解決するにはどうすればよいですか?
あなたの答えはAlikありがとうございます。私はこれを完全に理解していないと思います。 "次に、ユーザーインスタンスの観測可能な配列を含むUserStoreと、現在のユーザープロファイルを指す観測可能なフィールドを持つAuthStoreを作成することができます。 Userクラスに関連してあなたは設定が意味するもののコードを共有してもいいですか? – Wonka
@Wonka https://github.com/mobxjs/mobx-contacts-list/blob/master/src/app/stores/contact-store.js - mobx-contact-listは、実際には同じアプローチを使用しています。 ContactクラスとContactStoreクラスがあります。後者のクラスは、 'Contact'クラスのすべてのインスタンスを格納するプロパティ' contacts'を観測します。 – Alik
Alikありがとう、そのアプローチを試してみよう! – Wonka