Передать объект из getServerSideProps в функцию страницы

В приведенном ниже коде, когда я возвращаю объект класса в функции getServerSideProps через реквизит, в функции страницы переменная не определена, как и в приведенном ниже коде.

export default function cars(obj){
    return <h1>counter: {obj.counter}</h1> // obj is undefined, why??
}
export async function getServerSideProps({req,res}){
    class Counter{
        constructor(){
            this.counter = 22
        }
    }
    var counter = new Counter()

    return {
        props:
        {
            obj:JSON.stringify(counter)
        }
    }
}

Я ожидал, что параметр страницы obj будет иметь счетчик объектов и не будет неопределенным.

Компоненты React получают объект, содержащий свойства. Подпись вашего компонента должна быть export default function Cars({ obj }){ ... }.

juliomalves 27.11.2022 20:18
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
1
119
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

export default function cars(props){
       return <h1>counter: {JSON.parse(props.obj).counter}</h1>
}
Ответ принят как подходящий

решение этой проблемы:

export default function cars({obj}){ // <-- here you have to get the member of the dictionary
    return <h1>counter: {obj.counter}</h1> // obj is undefined, why??
}
export async function getServerSideProps({req,res}){
    class Counter{
        constructor(){
            this.counter = 22
        }
    }
    var counter = new Counter()

    return {
        props:
        {
            obj:JSON.stringify(counter)
        }
    }
}

Другие вопросы по теме