@NameUser

Как динамически передавать параметр в функцию getServerSideProps?

Здравствуйте! Есть серверная пагинация, необходимо менять динамически параметр в URL, как можно это сделать?

Создал переменную i в теле компоненты, он ее даже не видит.

export async function getServerSideProps(context) {
    const products = await axios.get(`http://localhost:5000/api/card/${i}`)
        .then(res => res.data)
    return {
        props: {products}, // will be passed to the page component as props
    }
}
  • Вопрос задан
  • 262 просмотра
Решения вопроса 1
@dimuska139
Backend developer
Вы переменную не из тела компонента должны брать. В getServerSideProps сделайте const { query } = context; - и в query будут все query-параметры из url. Вот небольшой пример:
export async function getServerSideProps(context: any) {
    const { query } = context;
    let f: PostsListFilters = {
        limit: 24,
        offset: 0,
        order: '-publishedAt'
    };

    if (query.page) {
        f.offset = f.limit * (query.page - 1);
    }

    const posts = await postsActions.fetchPosts(f);

    return {
        props: {
            posts: posts.data,
            total: posts.meta.total,
        }
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы