diff --git a/packages/react-native/React/DevSupport/RCTPackagerConnection.h b/packages/react-native/React/DevSupport/RCTPackagerConnection.h index 014f73f9793..cdd7c745a89 100644 --- a/packages/react-native/React/DevSupport/RCTPackagerConnection.h +++ b/packages/react-native/React/DevSupport/RCTPackagerConnection.h @@ -59,7 +59,7 @@ typedef void (^RCTConnectedHandler)(void); /** Disconnects and removes all handlers. */ - (void)stop; -/** Reconnect with given packager server. */ +/** Reconnect with given packager server, if packagerServerHostPort has changed. */ - (void)reconnect:(NSString *)packagerServerHostPort; /** diff --git a/packages/react-native/React/DevSupport/RCTPackagerConnection.mm b/packages/react-native/React/DevSupport/RCTPackagerConnection.mm index 39419d60e12..95dbf82437c 100644 --- a/packages/react-native/React/DevSupport/RCTPackagerConnection.mm +++ b/packages/react-native/React/DevSupport/RCTPackagerConnection.mm @@ -160,6 +160,7 @@ static RCTReconnectingWebSocket *socketForLocation(NSString *const serverHostPor - (void)bundleURLSettingsChanged { + // Will only reconnect if `packagerServerHostPort` has actually changed [self reconnect:[[RCTBundleURLProvider sharedSettings] packagerServerHostPort]]; }