如何在不重置 Redux Store 的情况下在 React 中重定向?

How to redirect in React without resetting Redux Store?

我正在尝试在 React 中构建导航栏。我正在使用 redux-toolkit store 来管理我的状态。每当我单击导航栏上的 link 时,redux 存储都会重置为初始状态。如何构建不会重置 redux 存储的导航栏 link?

我的NavBar-

import {
  Breadcrumbs,
  Link,
} from '@material-ui/core';

<Breadcrumbs aria-label="breadcrumb">
 <Link href="/">
   Home
 </Link>
</Breadcrumbs>

我的dataSlice-

export const dataSlice = createSlice({
  name: 'data',
  initialState: {
    data: 'data'
  },
  reducers: {
    setData: (state, action) => {
      state.data = action.payload;
    },
  },
});

我的store

export default configureStore({
  reducer: {
   data: dataReducer,
  },
});

我将此作为答案发布,因为我想我的评论有用!

您从 @material-ui/core 导入的 Link 仅用于样式目的。它呈现一个普通的 a 标记,单击 link 将导致页面硬重新加载。

您需要使用 react-router-dom 中的 Link 组件。该组件通过 to 属性 而不是 href 处理内部导航。这将导致页面导航,同时仍保持 Redux 商店和任何其他应用程序状态。

您或许可以组合这两个组件来获得 material-ui 样式。但重要的是导航需要经过react-router-dom.