diff --git a/lib/keyserver-conn/call-keyserver-endpoint-provider.react.js b/lib/keyserver-conn/call-keyserver-endpoint-provider.react.js --- a/lib/keyserver-conn/call-keyserver-endpoint-provider.react.js +++ b/lib/keyserver-conn/call-keyserver-endpoint-provider.react.js @@ -1,7 +1,6 @@ // @flow import invariant from 'invariant'; -import _memoize from 'lodash/memoize.js'; import * as React from 'react'; import { createSelector } from 'reselect'; @@ -190,7 +189,7 @@ // within react-redux's connect's mapStateToProps function, and then pass that // "bound" callServerEndpoint that no longer needs the cookie as a parameter // on to the server call. - const baseCreateBoundServerCallsSelector = React.useCallback( + const createBoundServerCallsSelector = React.useCallback( (actionFunc: ActionFunc): (BindServerCallsParams => F) => createSelector( (state: BindServerCallsParams) => state.dispatch, @@ -228,12 +227,6 @@ [bindCookieAndUtilsIntoCallServerEndpoint], ); - const createBoundServerCallsSelector: CreateBoundServerCallsSelectorType = - React.useMemo( - () => _memoize(baseCreateBoundServerCallsSelector), - [baseCreateBoundServerCallsSelector], - ); - const value = React.useMemo( () => ({ bindCookieAndUtilsIntoCallServerEndpoint, diff --git a/lib/utils/action-utils.js b/lib/utils/action-utils.js --- a/lib/utils/action-utils.js +++ b/lib/utils/action-utils.js @@ -21,6 +21,11 @@ serverCallStateSelector(ashoatKeyserverID), ); const { createBoundServerCallsSelector } = useCallKeyserverEndpointContext(); + const selector = React.useMemo( + () => createBoundServerCallsSelector(serverCall), + [createBoundServerCallsSelector, serverCall], + ); + return React.useMemo(() => { const { urlPrefix, isSocketConnected } = serverCallState; invariant( @@ -30,7 +35,7 @@ 'keyserver missing from keyserverStore', ); - return createBoundServerCallsSelector(serverCall)({ + return selector({ ...serverCallState, urlPrefix, isSocketConnected, @@ -38,13 +43,7 @@ ...paramOverride, keyserverID: ashoatKeyserverID, }); - }, [ - serverCall, - serverCallState, - dispatch, - paramOverride, - createBoundServerCallsSelector, - ]); + }, [serverCallState, dispatch, paramOverride, selector]); } export { useServerCall };