Настройка 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

Ответы

Ответ 1

Я не смог исправить эту проблему, кажется, это ошибка.

Итак, я просто переместил часть инициализации кода js из didFinishLaunchingWithOptions в тело обработчика событий, которого я ждал.

Итак, в основном, я инициализирую приложение action-native только после того, как это происходит. Это взлом, а не решение, но это сработало для меня.

Ответ 2

Появляется ошибка в проблеме, которую вы поделили. И работа вокруг вас ищет, кажется, тоже была включена в проблему.

введите описание изображения здесь

Я предполагаю, что вы уже пробовали этот подход? К сожалению, не может быть лучшей работы.