У меня есть форма, которая в настоящее время использует данные из файла json.
Данные извлекаются вот так
const categoryList = require('../data/categories.json');
Я изменяю это, чтобы получить данные из api, который извлекает данные из mongodb.
http://localhost:3000/api/categories
Приведенная выше ссылка дает мне те же результаты, что и файл json.
import { getCategories } from '../../lib/hooks';
....
const PostEditor = () => {
const [categories] = getCategories(); // this gives me all the categories from api as an array
console.log("categories from db")
console.log(categories)
const catList = require('../data/categories.json'); // same result as above
console.log("cat list from json file")
console.log(catList)
...
...
return (
<>
...
...
<Autocomplete
multiple
options={catList} // Data from db(categories field) does not reach here.
limitTags={2}
Из приведенного выше кода оба журнала консоли из базы данных и журнал консоли из файла json имеют те же значения в браузере. Консольный журнал в командной строке показывает значения из базы данных как «неопределенные». Я думаю, что данные из db не достигают страницы вовремя, но из файла json это происходит.
Как решить эту проблему?
Я использую Next js.
Изменить: я переместил выборку данных из Api в родительский компонент (непосредственно под страницами) и передал категории в качестве свойств дочернему компоненту.
<PostEditor categories={cats}/>
По-прежнему сталкиваюсь с той же проблемой.