Настройка 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
Появляется ошибка в проблеме, которую вы поделили. И работа вокруг вас ищет, кажется, тоже была включена в проблему.
![введите описание изображения здесь]()
Я предполагаю, что вы уже пробовали этот подход? К сожалению, не может быть лучшей работы.