微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在react-admin中动态添加请求头?

如何解决如何在react-admin中动态添加请求头?

我使用的是 react-admin,我的数据提供者是 simpleRestProvider。 我需要根据用户行为向请求动态添加标头。

有可能吗?

谢谢:)

解决方法

是的,这是可能的。插入 react-admin 管道的一个非常方便的地方是传递给 dataProvider 的 httpClientAlso 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 存储库并创建一个增强版本即可。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。