#reactjs #next.js #server-side-rendering
#reactjs #next.js #рендеринг на стороне сервера
Вопрос:
Я хочу перейти projectID
с предыдущей страницы (/projects
) на ( /project/[projectName]
) . Поэтому, чтобы получить сведения о проекте, я должен запустить конечную точку API с помощью projectID.
Как правильно передать ProjectID с предыдущей страницы, а также как получить к нему доступ в getServersideProps
методе.
На /project/[projectName]
странице,
export async function getServerSideProps(){
// Here i want to access the projectID sent from the previous page
const data = await fetchData();
return {
props: data,
};
}
Query/param
prop будет иметь доступ к ProjectName, но не к ProjectID .
Ответ №1:
Поскольку serverSideProps будет запускаться при каждой загрузке страницы, вы не сможете передавать данные с одной страницы на другую.
Что вы можете сделать, это либо передать данные с помощью useContext, либо, если это общие данные, которые вы собираетесь использовать на всех своих страницах, вы можете получить их непосредственно на _app.js и передайте его для всех дочерних компонентов.
Это пример использования useContext.
Это документы, извлекаемые на _app.js . (проверьте прокомментированный код)
Вы даже можете объединить оба метода и установить данные на _app.js и использовать его на любой странице или компоненте.