Данные из Mon go db поступают позже, чем данные из файла json на сервер в приложении Next js - PullRequest
0 голосов
/ 02 августа 2020

У меня есть форма, которая в настоящее время использует данные из файла 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}/>

По-прежнему сталкиваюсь с той же проблемой.

...