我々は最近、我々のアプリのいずれかで同じユースケースを持っていたし、次の操作を実行することを決定した:ちょうど通常のようなNSUserDictionary
から
読む(すべての要素をフェッチ)とRCTRootView
に渡します
NSDictionary *userSettings = @{}; // fetch them here
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"XYZ"
initialProperties:userSettings
launchOptions:launchOptions];
userSettings
辞書には、たとえばaccessToken
プロパティの場合は、ルートReactコンポーネント(AppRegistry.registerComponent
に渡すコンポーネント)からthis.props.accessToken
にアクセスするだけで済みます。
次に、値がすでにAsyncStorageに保持されているかどうか(または使用すべきuserSettingsの他のコピーがあるかどうか)をチェックし、そうでない場合は現在の値を保持します。
もう1つの方法は、NSUserDefaults
にアクセスできるReact Nativeで利用可能なSettings
モジュールを使用することです。それは.get()
と.set()
の方法を持っているので、技術的にはそれを使うことができるはずです。
initialpropertiesを通過したuserSettings
は、Xcode内からアプリを再実行するまで更新されません。
Settings.get( 'NSUserDefaults')を使用してNSUserDefaultsにアクセスしようとしていますが、未定義です。それ以上使用することはできませんか? – NinetyHH