Как мне установить результат вызова API как значение по умолчанию для атома отдачи? - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь установить значение по умолчанию для атома в Recoil JS как значение асинхронного вызова API. Я делаю это для того, чтобы при рендеринге определенного компонента React он имел все текущие наборы в базе данных без необходимости вызывать useEffect (). Вот мой код ...

const sets = (async () => await setService.getAll())()

export const setsState = atom({
  key: 'sets',
  default: sets
})

Вот ошибка, которую я получаю ...

index.js:1 Warning: Cannot update a component (`Batcher`) while rendering a different component (`App`). To locate the bad setState() call inside `App`, follow the stack trace as described in https://facebook.com/setstate-in-render
    in App (at src/index.js:10)
    in Router (created by BrowserRouter)
    in BrowserRouter (at src/index.js:9)
    in RecoilRoot (at src/index.js:8)

Есть ли что-то в корне неправильное в моем подходе? Должен ли я делать это по-другому? Я что-то делаю не так, или это просто неработающая функция Recoil?

1 Ответ

0 голосов
/ 09 августа 2020

предупреждение, о котором вы сообщаете, известно разработчикам Recoil , и оно будет исправлено в следующих выпусках.

НЕ ПРЕДЛАГАЕТСЯ: если вы хотите временно скрыть его, вы можете понизить версию Отреагируйте на v16.12.0, вам решать, сможете ли вы дожить до следующего релиза Recoil ?

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