Я использую Next.js, на странице _app.js (где мы устанавливаем общее состояние веб-приложения) у меня есть 2 типа данных, которые мне нужно иметь в заголовке (так для каждого компонента).
1) Первый тип - это информация заголовка, эта информация должна отображаться до загрузки приложения.Я буду использовать get getInitialProps для вызова конечных точек и помещения их в реквизиты, а затем в componentWillMount, чтобы добавить их в состояние.
2) Второй тип - это данные для компонента поиска, так какданные, и я не возражаю против их загрузки, пока приложение уже визуализировано, так как оно не отображается в первом пользовательском визуале.Поэтому я полагаю, что здесь гораздо предпочтительнее использовать componentDidMount и асинхронно вызывать конечную точку, которая выбирает данные объекта поиска, чем добавлять настройку состояния с ним.
Цель этого вопроса двойная:
1) Обзор - я правильно об этом думаю или я что-то упустил?
2) Вопрос - теперь, когда данные загружаются после первого рендеринга, я передаю данные следующим образом: _app.js -> Layout -> Menu -> SearchBar, поэтому мой вопрос, в моем searchBar мне нужно сделать что-то вроде
componentDidMount() {
this.setState({ options: this.props.searchBarSource })
}
Но, поскольку _app.js заполняет эти данные с помощью асинхронного вызова, не будетЗначит ли это, что я всегда получу пустой объект?WWW, как правильно решить эту проблему?Если я установлюTimeOut примерно на 3 секунды, а затем установлю данные, это нормальное решение или очень хакерское и есть лучшие способы?