如何重置 react-redux 的值?

Posted

技术标签:

【中文标题】如何重置 react-redux 的值?【英文标题】:How to reset values of react-redux? 【发布时间】:2021-08-28 15:13:45 【问题描述】:

我一直在使用 MERN 堆栈。 我想知道如何重置 redux 值中的值。 如果我向后端/login 路由发送不正确的数据,我得到'Invalid email or password' 并将其保存为redux。我在前端看到了。更改路线时,在我将路线更改为登录(反应)页面后,我看到此消息。如果我刷新页面 redux 重置。 我有一个问题,如何不刷新更改路线重置值?

【问题讨论】:

在加载登录组件时设置初始状态? 获取你想要的数据到redux(初始数据) 【参考方案1】:
import reset from 'redux-form';

...

dispatch(reset('myForm'));  // requires form name

【讨论】:

【参考方案2】:

我从您的问题中得到的是,当您从 page a 切换到 时,您想清除 redux 商店的 '无效的电子邮件或密码' b页

这就是你可以做的,你可以通过创建和操作重置为''redux 中的数据,并在 page a 内卸载时调度它。

page a

里面有类似的东西
componentWillUnmount() 
  dispatch(resetErrorMessageAction())

内部 actions.js

function resetErrorMessageAction(data) 
  return 
    type: 'RESET_ERROR_MESSAGE'
  

在你的减速器内部

function(state, action) 
  switch(action.type) 
    case 'RESET_ERROR_MESSAGE':
      return 
        ...state,
        errorMessage: ''
      
  

【讨论】:

我就是这么做的。但是我写了很多代码。我只想在更改路由重置值时在某处添加一些代码

以上是关于如何重置 react-redux 的值?的主要内容,如果未能解决你的问题,请参考以下文章

onClick 后对象不断将大小重置为数组

在 React 中路由其他组件时重置 redux 存储

react-redux的connect()方法

如何使用 react-redux 钩子测试组件?

如何在 react-redux 中调用页面刷新的函数?

如何对 React-Redux 连接组件进行单元测试?