diff --git a/packages/ra-core/src/core/CoreAdminContext.tsx b/packages/ra-core/src/core/CoreAdminContext.tsx index a8fe97479e4..ef52bbf4d5b 100644 --- a/packages/ra-core/src/core/CoreAdminContext.tsx +++ b/packages/ra-core/src/core/CoreAdminContext.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { FunctionComponent, ComponentType, useContext } from 'react'; +import { FunctionComponent, ComponentType, useContext, useState } from 'react'; import { Provider, ReactReduxContext } from 'react-redux'; import { History } from 'history'; import { createHashHistory } from 'history'; @@ -87,6 +87,19 @@ React-admin requires a valid dataProvider function to work.`); ); }; + const [store] = useState(() => + !reduxIsAlreadyInitialized + ? createAdminStore({ + authProvider: finalAuthProvider, + customReducers, + customSagas, + dataProvider: finalDataProvider, + initialState, + history: finalHistory, + }) + : undefined + ); + if (reduxIsAlreadyInitialized) { if (!history) { throw new Error(`Missing history prop. @@ -95,20 +108,7 @@ React-admin uses this history for its own ConnectedRouter.`); } return renderCore(); } else { - return ( - - {renderCore()} - - ); + return {renderCore()}; } };