为什么刷新页面总是到首页?

问题描述 投票:0回答:1

我的问题是,每次刷新,我总是去主页,但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;
reactjs react-router page-refresh
1个回答
0
投票

问题似乎与您的 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 挂钩中使用某种重定向,该钩子在每次刷新时将用户重定向到主页。

© www.soinside.com 2019 - 2024. All rights reserved.