react-admin - 登录后 React admin 应该重定向到主页,但它会重定向到上一个 url
问题描述
实际上,我以超级管理员身份登录,可以访问特定资源,即高管,然后从该页面注销,然后使用无权访问高管页面的高管详细信息登录,因此它呈现未找到页面但我希望如果高管登录并且没有访问权限到特定的 url 然后它应该重定向到仪表板页面。
解决方案
您可以使用自定义 saga 来替换此路由:
logoutSaga.js:
import { put, takeEvery } from 'redux-saga/effects'
import { replace } from 'connected-react-router'
import { UNREGISTER_RESOURCE } from 'react-admin'
function* logoutMonitor(action) {
try {
if (action.payload === 'name_one_your_resources') {
yield put(replace({pathname: '/login', state: {nextPathname: '/'}})) // Replacing the route for the next entry!
}
} catch (error) {
console.warn('logoutSaga:', error)
}
}
function* logoutSaga() {
yield takeEvery([UNREGISTER_RESOURCE], logoutMonitor) // UNREGISTER_RESOURCE - one of the last Redux Action at logout
}
export default logoutSaga
连接自定义 Saga:https ://marmelab.com/react-admin/Admin.html#customsagas
推荐阅读
- flutter - 如何在函数或类中传递变量引用?
- reactjs - ReactJS - 在页面加载时滚动到表格的行
- python-3.x - 如何在python中循环时间序列数据集?
- r - 如何轻松生成 10 次方的列表?
- html - 为什么我的 SVG 的圆圈没有完全显示?
- c++ - “codecvt_utf8_utf16”和“codecvt_utf8”从UTF-8转换为UTF-16的区别
- java - 不能在java中一起打印字符串和布尔值
- package - Julia:如何更新到最新版本的包(即 Flux)
- deep-learning - Gan损失很小,判别器损失巨大?
- java - 使用自定义绑定适配器绑定可绘制资源