Fix withSelect to release resources on unmount (https://github.com/woocommerce/woocommerce-admin/pull/1999)
* Add fresh-data dev info support for dev builds. This adds support for dev info to be accessed from the JavaScript console for more information about resources handled by fresh-data. * Update fresh-data to 0.6.0 * Fix withSelect to release resources on unmount Previously, withSelect wasn't releasing resources from fresh-data when it was unmounting. This fixes that behavior and now clears a component's requirements correctly when unmounting.
This commit is contained in:
parent
85fda4d61f
commit
007ff933ce
|
@ -59,7 +59,6 @@ const withSelect = mapSelectToProps =>
|
|||
getNextMergeProps( props ) {
|
||||
const storeSelectors = {};
|
||||
const onCompletes = [];
|
||||
const onUnmounts = {};
|
||||
const componentContext = { component: this };
|
||||
|
||||
const getStoreFromRegistry = ( key, registry, context ) => {
|
||||
|
@ -72,7 +71,7 @@ const withSelect = mapSelectToProps =>
|
|||
// We give it a context, and we check for a "resolve"
|
||||
const { selectors, onComplete, onUnmount } = selectorsForKey( context );
|
||||
onComplete && onCompletes.push( onComplete );
|
||||
onUnmount && ( onUnmounts[ key ] = onUnmount );
|
||||
onUnmount && ( this.onUnmounts[ key ] = onUnmount );
|
||||
storeSelectors[ key ] = selectors;
|
||||
} else {
|
||||
storeSelectors[ key ] = selectorsForKey;
|
||||
|
|
|
@ -29,6 +29,9 @@ function createWcApiStore() {
|
|||
apiClient.setComponentRequirements( component, componentRequirements );
|
||||
}
|
||||
},
|
||||
onUnmount: () => {
|
||||
apiClient.clearComponentRequirements( component );
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue