React-admin dataProvider不会触发authProvider的AUTH_ERROR

时间:2018-09-17 10:52:03

标签: react-admin

大家下午好,所有react-admin用户。我正在使用这个很棒的开源项目,而且我一直在努力几个小时。

如文档中所述,如果任何API调用返回任何错误,则authProvider将使用AUTH_ERROR类型捕获它。但是,就我而言,不会触发authProvider。谢谢您阅读此篇。任何帮助将不胜感激。

AuthProvider:

export default async(type, params) => {
  if (type === AUTH_ERROR) console.log('testing')
}

dataProvider:

class dataProviderHttpError extends Error {
  constructor(status, message) {
    super(message)
    this.status = status
  }
}

export default (type, resource, params) => {
  return Promise.reject(new dataProviderHttpError(401, 'testing'))
}

管理员

import dataProvider from './dataProvider'

<Admin
  dataProvider={dataProvider}
/>

1 个答案:

答案 0 :(得分:0)

authProvider将捕获您使它监听的所有身份验证错误并返回Promise.reject()
在示例中,您只是告诉authProvider在控制台上显示一些内容,然后在dataProvider上尝试返回Promice.reject()
这是您的authProvider的任务,而不是dataProvider的任务。
您可以再次查看文档中说明如何处理authProvider here上的AUTH_ERRORS的部分。