Я создал песочницу здесь, чтобы повторить проблему, консоль показывает бесконечность l oop:
https://codesandbox.io/s/proud-bash-9md1s
Я использую контекст Чтобы разделить состояние между компонентами, каждая конечная точка в моем API работает одинаково (get, post, patch, delete), поэтому я создал функцию-запросчик, чтобы избежать повторения кода. Простая версия здесь:
const requester = (endpoint) => {
const baseUrl = '/v1'
if (endpoint) baseUrl += `/${endpoint}`
return {
async get() {
const request = await makeRequest(url)
if (request.data) {
setCurrent({
...current,
[context]: request.data
})
}
return request
}
}
}
const user = requester('user')
const product = requester('product')
Но так как я обновляю весь ток каждый раз, когда вызывается API, возникает конфликт, когда я хочу вызвать две конечные точки в одном компоненте (как видно в примере) .
Как это исправить?