Typescript 如何在react admin中动态添加请求头?
我使用的是Typescript 如何在react admin中动态添加请求头?,typescript,react-admin,Typescript,React Admin,我使用的是react admin,我的数据提供程序是simpleRestProvider。 我需要根据用户行为向请求动态添加头 可能吗 谢谢:)是的,这是可能的。插入react admin管道的一个非常方便的地方是传递给数据提供者的httpClient Edit:如果要在每个dataProvider调用上动态传递头,我想您必须修改 dataProvider因为当前的ra数据简单rest没有传递接收选项参数以将其传递给httpClient,而是在内部创建它。您不必从头开始构建此功能,只需完成回购并
react admin
,我的数据提供程序是simpleRestProvider
。
我需要根据用户行为向请求动态添加头
可能吗
谢谢:)是的,这是可能的。插入
react admin
管道的一个非常方便的地方是传递给数据提供者的httpClient
Edit:如果要在每个dataProvider
调用上动态传递头,我想您必须修改
dataProvider
因为当前的ra数据简单rest
没有传递接收选项
参数以将其传递给httpClient,而是在内部创建它。您不必从头开始构建此功能,只需完成回购并创建增强版即可。谢谢!是的,我看到了。但这是一个艰难的改变,它只发生一次,所有请求都是如此。我需要更动态地添加头枕。在组件内部。我明白你的意思了-我还没有找到一种方法来实现当前的数据提供程序实现。如果你想让它以这种方式高效地工作,而不是一直重新创建数据提供程序,你需要一个数据提供程序的修改版本-签出上面的编辑。谢谢!看来是这样。我会检查的
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);