【发布时间】:2021-08-17 16:05:46
【问题描述】:
我正在使用react-admin,我的数据提供者是simpleRestProvider。
我需要根据用户行为动态添加请求头。
有可能吗?
谢谢:)
【问题讨论】:
我正在使用react-admin,我的数据提供者是simpleRestProvider。
我需要根据用户行为动态添加请求头。
有可能吗?
谢谢:)
【问题讨论】:
是的,这是可能的。插入react-admin 管道的一个非常方便的地方是传递给dataProvider 的httpClient。 Also shown in the docs
import { fetchUtils, Admin, Resource } from 'react-admin';
import simpleRestProvider from 'ra-data-simple-rest';
const httpClient = (url, options = {}) => {
if (!options.headers) {
options.headers = new Headers({ Accept: 'application/json' });
}
const { token } = JSON.parse(localStorage.getItem('auth'));
options.headers.set('Authorization', `Bearer ${token}`);
return fetchUtils.fetchJson(url, options);
};
const dataProvider = simpleRestProvider('http://localhost:3000', httpClient);
编辑:如果您想在每个 dataProvider 调用上动态传递标头,我想您将不得不修改 a
dataProvider 目前ra-data-simple-rest package 没有通过接收options 参数将其传递给httpClient,而是在内部创建它。您不必从头开始构建它 - 只需 fork 存储库并创建一个增强版本。
【讨论】: