Page MenuHomePhabricator

D10680.diff
No OneTemporary

D10680.diff

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(
<F>(actionFunc: ActionFunc<F>): (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 };

File Metadata

Mime Type
text/plain
Expires
Sun, Sep 29, 4:41 PM (20 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2201566
Default Alt Text
D10680.diff (2 KB)

Event Timeline