有没有办法在JS类中调用自定义钩子?

时间:2020-06-24 12:53:01

标签: javascript reactjs auth0

我想知道是否有一种方法可以在JavaScript类(而非类组件)中调用react钩子。我找不到有关可能性的任何信息。

我需要获取用户的身份验证令牌。目前,唯一的方法是使用 useAuth0 挂钩。

我有一个FetchService类,该类负责获取/解析数据。

export default class FetchService {
    fetch(endpoint, type, body) {
        const options = Object.assign({}, defaultOptions[type], { body: JSON.stringify(body) });
        return fetch(endpoint, options);
    }
    ....
}

还有一个defaultOption对象,用于定义类型和请求标头:

const defaultOptions = {
    GET: {
        method: 'GET',
    },
    ....
}

我使用该服务来处理所有事情,而不是直接从我的React组件调用fetch。

有关挂钩实现的更多信息:

https://auth0.com/docs/quickstart/spa/react/02-calling-an-api

一个可能的解决方案是将令牌从我的react组件传递到fetch函数。但是我想这太多了,并导致重复的代码。我希望我的FetchService直接获得它。

0 个答案:

没有答案