我的模拟不会为每个项目生成唯一的数据,而是每个项目都具有相同的字段值。
选项 1:(理想方法,错误结果)
AppSync 架构包含 [Model]
的 items
字段,如果我单独放置 Model
解析器,则所有
具有相同的值。items
列表中的 Model
const mocks = {
ModelModelConnection: () => ({
items: () => new MockList(5),
}),
Model: () => ({
id: casual.uuid,
name: casual.title,
}),
};
结果...
<小时/>选项 2:(替代方法,正确结果)
const mocks = {
ModelModelConnection: () => ({
items: () => new MockList(5, () => ({
id: casual.uuid,
name: casual.title,
})),
}),
};
<小时/>
我想选择选项 1,但我似乎无法获得可 mock 的独特项目。我一直在为这个摸不着头脑。提前致谢!
最佳答案
如the docs所示,如果您想在每次触发字段解析器时生成不同的值,则模拟解析器应该是一个函数,而不是一个值。所以代替:
Model: () => ({
id: casual.uuid,
name: casual.title,
}),
你应该这样做:
Model: () => ({
id: () => casual.uuid,
name: () => casual.title,
}),
这会导致每次解析字段时调用 id
和 name
。
关于javascript - AppSync GraphQL 模拟解析器映射不生成唯一项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53881048/