我的问题是,每次刷新,我总是去主页,但url部分仍然在上一页。我不希望主页消失。我能做什么?
import { configureStore } from "@reduxjs/toolkit";
import authReducer from "../features/authSlice";
import stockReducer from "../features/stockSlice";
import storage from 'redux-persist/lib/storage' //? defaults to LOCALSTORAGE for web
// import storage from 'redux-persist/lib/storage/session' //? defaults to SESSİON for web
import {
persistStore,
persistReducer,
FLUSH,
REHYDRATE,
PAUSE,
PERSIST,
PURGE,
REGISTER,
} from "redux-persist"
const persistConfig = {
key: 'root',
storage,
}
const persistedReducer = persistReducer(persistConfig, authReducer) //! Kalıcı olmasını istediklerimizi burda birleştirip yazabiliriz.
const store = configureStore({
reducer: {
auth: persistedReducer,
stock: stockReducer,
},
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
serializableCheck: {
ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER],
},
}),
devTools: process.env.NODE_ENV !== "production",
});
export const persistor = persistStore(store)
export default store;
问题似乎与您的 Redux 配置无关,而是与您在应用程序中设置路由的方式有关。当 React Router(或您正在使用的任何路由库)配置不正确时,通常会发生此行为。如果发生页面刷新,您的应用程序可能会由于路由故障而默认返回基本路由(“/”)。
您需要检查您如何设置路线。当使用 React Router 时,它应该看起来像这样:
import React from "react";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
import HomePage from "<path_to_home_page>";
import OtherPage from "<path_to_other_page>";
function App() {
return (
<Router>
<Switch>
<Route exact path="/" component={HomePage} />
<Route path="/other" component={OtherPage} />
</Switch>
</Router>
);
}
export default App;
您也可能在主页路由中或主页上的 useEffect 挂钩中使用某种重定向,该钩子在每次刷新时将用户重定向到主页。