Skip to content

Commit 811a5d6

Browse files
committed
Fix native modules not being re-initialized on reload (#6159)
When calling `ReactNativeHost::ReloadInstance()`, `ReactPackageProvider`s are not reiterated and thus not calling `AddAttributedModules()`. As a consequence, the native modules that were loaded the first time the app was loaded, no longer "exist" after a reload.
1 parent 0e315ac commit 811a5d6

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"type": "patch",
3+
"comment": "Backport fix for native modules not being re-initialized on reload (#6159)",
4+
"packageName": "react-native-windows",
5+
"email": "tn0502@gmail.com",
6+
"dependentChangeType": "patch",
7+
"date": "2020-10-02T21:12:32.521Z"
8+
}

vnext/Microsoft.ReactNative/ReactNativeHost.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,18 +80,16 @@ IAsyncAction ReactNativeHost::ReloadInstance() noexcept {
8080

8181
auto turboModulesProvider = std::make_shared<TurboModulesProvider>();
8282

83-
if (!m_packageBuilder) {
84-
m_packageBuilder = make<ReactPackageBuilder>(
85-
modulesProvider,
83+
m_packageBuilder = make<ReactPackageBuilder>(
84+
modulesProvider,
8685
#ifndef CORE_ABI
87-
viewManagersProvider,
86+
viewManagersProvider,
8887
#endif
89-
turboModulesProvider);
88+
turboModulesProvider);
9089

91-
if (auto packageProviders = InstanceSettings().PackageProviders()) {
92-
for (auto const &packageProvider : packageProviders) {
93-
packageProvider.CreatePackage(m_packageBuilder);
94-
}
90+
if (auto packageProviders = InstanceSettings().PackageProviders()) {
91+
for (auto const &packageProvider : packageProviders) {
92+
packageProvider.CreatePackage(m_packageBuilder);
9593
}
9694
}
9795

0 commit comments

Comments
 (0)