import React from "react";
import { Route, Redirect, Switch } from "react-router-dom";
import { useOktaAuth } from "@okta/okta-react";
import { Superadmin } from "../../../../Application_Constants";
import { AuthPage } from "./AuthPage";
import { ErrorPage1 } from "../../errors/ErrorPage1";
import { makeStyles, useTheme } from "@material-ui/core/";
import { Provider } from "react-redux";
import { createStore, applyMiddleware } from "redux";
import thunk from "redux-thunk";
import reducer from "../../redux/reducer";
import Header from "../../header/Header";
const AppWithRouterAccess = () => {
const store = createStore(reducer, applyMiddleware(thunk));
const theme = useTheme();
const { authState, oktaAuth } = useOktaAuth();
return (
<Switch>
{!authState.isAuthenticated ? (
/*Render auth page when user at `/auth` and not authorized.*/
<Route>
<AuthPage />
</Route>
) : (
/*Otherwise redirect to root page (`/`)*/
<Redirect from="/auth" to="/" />
)}
<Route path="/error" component={ErrorPage1} />
{!authState.isAuthenticated ? (
/*Redirect to `/auth` when user is not authorized*/
<Redirect to="/auth/login" />
) : (
<>
{/* provider used to integrates redux store with react application */}
{/* redux provides a centralized store to manage the state of application */}
<Provider store={store}>
<Header />
</Provider>
</>
)}
</Switch>
);
};
export default AppWithRouterAccess;
这是AppWithRouterAccess.js文件.authState.isAuthenticated
正在刷新,因为Okta令牌正在刷新,而我的页面正在刷新和存储刷新.我如何停止我的Redux以在authState.isAuthenticated
次更新后获得刷新.Redux存储不应更新.