我一直在研究一些 Graph QL/React/Relay 示例,但遇到了一些奇怪的语法。
在 Graph QL Objects 中定义字段时,使用以下语法:
const xType = new GraphQLObjectType({
name: 'X',
description: 'A made up type for example.',
fields: () => ({
field: {/*etc.*/}
})
});
据我所知,这只是定义一个匿名函数并将其分配给 xType.fields。该匿名函数返回包含字段定义的对象。
但是,我假设 Graph QL 模式机制可以工作,这必须定义为返回对象的函数,而不是简单的对象。但让我感到困惑的部分是花括号周围的括号。
这是为了区分对象定义和函数定义吗?是为了读者清楚起见吗?
谷歌搜索发现的唯一类似语法是在 airbnb 风格指南中,它似乎是一个可读性/清晰度的东西。
当我开始更多地使用 Graph QL 时,只是在寻找超出我假设的确认或解释。