From 2afa5a3cf7ba4bc329eb168ffd5595bc660bae84 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Wed, 30 May 2018 11:45:09 -0700 Subject: [PATCH] [change] remove componentWillReceiveProps from Image --- .../src/exports/Image/index.js | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/packages/react-native-web/src/exports/Image/index.js b/packages/react-native-web/src/exports/Image/index.js index 1e439766..b7d92798 100644 --- a/packages/react-native-web/src/exports/Image/index.js +++ b/packages/react-native-web/src/exports/Image/index.js @@ -160,23 +160,20 @@ class Image extends Component<*, State> { } } - componentDidUpdate() { + componentDidUpdate(prevProps) { + const prevUri = resolveAssetUri(prevProps.source); + const uri = resolveAssetUri(this.props.source); + if (prevUri !== uri) { + ImageUriCache.remove(prevUri); + const isPreviouslyLoaded = ImageUriCache.has(uri); + isPreviouslyLoaded && ImageUriCache.add(uri); + this._updateImageState(getImageState(uri, isPreviouslyLoaded)); + } if (this._imageState === STATUS_PENDING) { this._createImageLoader(); } } - componentWillReceiveProps(nextProps) { - const uri = resolveAssetUri(this.props.source); - const nextUri = resolveAssetUri(nextProps.source); - if (uri !== nextUri) { - ImageUriCache.remove(uri); - const isPreviouslyLoaded = ImageUriCache.has(nextUri); - isPreviouslyLoaded && ImageUriCache.add(nextUri); - this._updateImageState(getImageState(nextUri, isPreviouslyLoaded)); - } - } - componentWillUnmount() { const uri = resolveAssetUri(this.props.source); ImageUriCache.remove(uri);