Fix actually remove openURL event listener (#2235)

Previously, we were creating an anonymous function as the event listener handler. This means we can't un-listen because we don't have a reference to the handler.
This commit is contained in:
Joey Baker 2017-09-09 09:09:18 -07:00 committed by Spencer Carli
parent 312b68790a
commit 70785d635a

View File

@ -98,7 +98,7 @@ export default function createNavigationContainer<S: *, O>(
};
}
_handleOpenURL = (url: string) => {
_handleOpenURL = ({ url }: { url: string }) => {
const parsedUrl = this._urlToPathAndParams(url);
if (parsedUrl) {
const { path, params } = parsedUrl;
@ -155,12 +155,10 @@ export default function createNavigationContainer<S: *, O>(
this.dispatch(NavigationActions.back())
);
Linking.addEventListener('url', ({ url }: { url: string }) => {
this._handleOpenURL(url);
});
Linking.addEventListener('url', this._handleOpenURL);
Linking.getInitialURL().then(
(url: ?string) => url && this._handleOpenURL(url)
(url: ?string) => url && this._handleOpenURL({ url })
);
}