Merge pull request #3764 from virtuacoplenny/lenny/no-cwrp-abstract-app

ref(app): move url change handling to componentDidUpdate
This commit is contained in:
virtuacoplenny 2019-01-04 07:58:21 -08:00 committed by GitHub
commit 5b45542009
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 12 deletions

View File

@ -56,28 +56,25 @@ export class AbstractApp extends BaseApp<Props, *> {
}
/**
* Notifies this mounted React {@code Component} that it will receive new
* props. Makes sure that this {@code AbstractApp} has a redux store to use.
* Implements React Component's componentDidUpdate.
*
* @inheritdoc
* @param {Object} nextProps - The read-only React {@code Component} props
* that this instance will receive.
* @returns {void}
*/
componentWillReceiveProps(nextProps: Props) {
const { props } = this;
componentDidUpdate(prevProps: Props) {
const previousUrl = toURLString(prevProps.url);
const currentUrl = toURLString(this.props.url);
const previousTimestamp = prevProps.timestamp;
const currentTimestamp = this.props.timestamp;
this._init.then(() => {
// Deal with URL changes.
let { url } = nextProps;
url = toURLString(url);
if (toURLString(props.url) !== url
if (previousUrl !== currentUrl
// XXX Refer to the implementation of loadURLObject: in
// ios/sdk/src/JitsiMeetView.m for further information.
|| props.timestamp !== nextProps.timestamp) {
this._openURL(url || this._getDefaultURL());
|| previousTimestamp !== currentTimestamp) {
this._openURL(currentUrl || this._getDefaultURL());
}
});
}