0

我正在学习最新的 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 post,似乎params应该包含props传递给组件的内容。但它总是出现在undefined这里。

我怎样才能解决这个问题?

提前感谢所有人提供的任何信息。

4

1 回答 1

0

解决它。{params}(在花括号中)必须更改为props(无花括号):

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

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

我还不明白的是,为什么 Githunt-React Apollo 演示代码用花括号括起来?

如果您知道,请将您的回复作为答案发布,确认后我会将其标记为该问题的已接受答案。:)

于 2017-07-16T22:44:24.697 回答