Вы можете использовать топор ios или что-либо еще для выполнения ваших http-вызовов, важная вещь - , где вы делаете http-вызов на сервере? или в браузере пользователя?
Если вы поместите код выборки на хук жизненного цикла componentDidMount()
, он всегда будет работать в браузере, если вы введете его в getInitialProps()
, он будет запустите на сервере.
[Вышеприведенное утверждение действительно только тогда, когда вы пытаетесь открыть страницу в первый раз, после этого все будет происходить в браузере независимо от того, куда вы положили код извлечения, Подробнее здесь ]
Сравнение
Что дальше js делает, это то, что оно запускает ваше приложение React на сервере перед передачей в браузер пользователя. При этом он возвращает полностью обработанный HTML с полностью загруженным содержимым.
При обычном приложении React:
- Ваш браузер запрашивает индекс . html
- Приложение React загружается в ваш браузер и вызывает
componentDidMount()
- Данные извлекаются и соответственно изменяется состояние
- React отображает извлеченное содержимое на вашем browser
With Next. js:
- Ваш браузер запрашивает индекс. html
- Next js захватывает ваше приложение React и вызывает
getInitialProps
- Данные извлекаются, и реквизиты передаются вашему компоненту
- React отображает извлеченное содержимое для Next. js
- Далее js отправляет обработанные HTML в ваш браузер