reactjs - 使用 Route 注销时渲染不同组件时无法更新组件
问题描述
我有一个注销功能,可以将注销发送到商店并设置 isAuth。这是我的应用程序:
const App = () => {
const isAuth = useSelector(getIsAuth);
const dispatch = useDispatch();
const logout = () => {
localStorage.removeItem('Authorization');
localStorage.removeItem('user');
dispatch(onLogout());
}
return (
<>
{isAuth
? <>
<Route path='/logout' render={logout}/>
</>
: <Switch>
</Switch>
}
</>
)
}
但是在 /logout 我得到:
Warning: Cannot update a component (`App`) while rendering a different component (`Router.Consumer`). To locate the bad setState() call inside `Router.Consumer`
解决方案
推荐阅读
- r - R:获取用 package::function 调用的函数名称作为 R 中的字符串
- android - 克隆项目后无法解析 android 中的符号“R”
- node.js - 即使启用了端口,Socket io.connect 也无法正常工作
- java - spring boot 无法在 spring 测试类中注入 spring 服务
- go - 如何从 hyperledgerfabric 分类帐中获取数据并更新
- php - php动态获取网页中特定单词的计数
- mongodb - java mongo驱动中mongo shell UUID()的等价物
- selenium - 如何使用java lang在selenium中找到具有href作为java脚本函数的链接
- javascript - 序列化表单数据并将它们添加到 jquery $.post
- jquery - Adding a column that is a result of two other columns in jqgrid?