2017-10-18 6 views
15

私は変更していないよ、最初の小道具は: 設定rootView.appPropertiesが再レンダリングされませんルートコンポーネント

RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation 
                 moduleName:@"DcWealth" 
               initialProperties:nil 
                launchOptions:launchOptions]; 

self.rootView = rootView; 

は、インスタンスのみ self.rootView = rootView

と、いくつかのイベントがネイティブ側で発生した後、私が欲しいの保存します別の小道具を渡す:

self.rootView.appProperties = @{ ... }; 

しかし、私のルートビューは再レンダリングせず、新しい小道具を手に入れません。いつプロパティを更新することで結構です

:(私は手動でJSをリロードする場合はそれがない)

docsがあると言います。ただし、メインスレッドで更新を実行する必要があります。

メインスレッドのプロパティを確認して更新しました。

この問題の原因は何ですか?

関連githubの問題:https://github.com/facebook/react-native/issues/15938

答えて

0

私はこの問題を解決することができませんでした。これはバグのようです。

私はちょうどdidFinishLaunchingWithOptionsから私が待っていたイベントハンドラの本体にjsコード初期化部分を移動しました。

基本的には、ネイティブイベントが発生した後にのみ、反応ネイティブアプリを初期化しています。これは解決策ではなくハックですが、それは私のために機能しました。

0

が共有問題からバグのように見えます。そしてあなたの周りの仕事は、問題にも含まれているようです。

enter image description here

私はあなたがすでにこのアプローチを試みたと仮定?残念ながら、より良い回避策はありません。

関連する問題