Аполлон: определение «параметров» в withData?

Я изучаю последние библиотеки Apollo. Этот withData код адаптирован из демонстрации Githunt-React Apollo:

const withData = graphql(GETIMS_QUERY, {
    options: ({ params }) => {
        console.log(params);

        return {
            variables: {
                "fromID": Meteor.userId(),
                "toID": `${params.toID}`,
            },
        };
    },
});

params входит undefined. В документах Apollo похоже не указано, где это определено.

Глядя на этот пост SO, похоже, что params должен содержать props, переданный компоненту. Но он всегда приходит сюда undefined.

Как я могу это исправить?

Заранее всем спасибо за любую информацию.


person VikR    schedule 16.07.2017    source источник


Ответы (1)


Починил это. {params} (в фигурных скобках) нужно было заменить на props (без фигурных скобок):

const withData = graphql(GETIMS_QUERY, {
    options: (props) => {
        console.log(props);

        return {
            variables: {
                "fromID": Meteor.userId(),
                "toID": props.toID,
            },
        };
    },
});

Чего я еще не понимаю, так это почему демо-код Githunt-React Apollo заключен в фигурные скобки?

Если вы знаете, пожалуйста, опубликуйте свой ответ как ответ, и после подтверждения я отмечу его как принятый ответ на этот вопрос. :)

person VikR    schedule 16.07.2017