Как включить свои учетные данные в getServerSideProps в Nextjs?
В асинхронной функции getServerSideProps мне нужно сделать выборку из серверной части, где я включаю свои учетные данные для создания экземпляра сеанса. У меня такой код:
export async function getServerSideProps({ query: { id } }) {
// Instantiate
await fetch(`${process.env.NEXT_PUBLIC_BASE_URL}/workflow/${id}`, {
method: 'GET',
credentials: 'include',
})
.then((response) => console.log('Instantiate...', response))
.catch((error) => console.error('Instantiation error', error));
}
URL-адрес и все, похоже, работают, но консоль показывает ошибку 500, потому что учетные данные, похоже, не включены в выборку. При вставке точного вызова в консоль браузера /Postman ответ представляет собой код 200, поэтому серверная часть, похоже, работает правильно.
1 ответ
Я переместил выборку из getServerSideProps в componentDidMount, что устранило проблему. Единственное, что нужно иметь в виду, - это инициировать состояние с пустыми значениями, поскольку порядок вызовов следующий:
- constructor
- оказывать
- componentDidMount
- рендер (при обновлении состояния)