Реагировать бесконечно l oop в контексте, вызванном обновленным объектом через несколько вызовов API - PullRequest
0 голосов
/ 15 марта 2020

Я создал песочницу здесь, чтобы повторить проблему, консоль показывает бесконечность 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, возникает конфликт, когда я хочу вызвать две конечные точки в одном компоненте (как видно в примере) .

Как это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...