我正在使用 React Apollo 查询数据存储中的所有记录,以便我可以在搜索过滤器中创建选择。
我使用的重要数据库模型是Report.
一Report有doorType,doorWidth,glass和manufacturer领域。
目前,当查询响应时,我将传递allReports给多个通过数组的哑组件,并仅获取唯一项以制作可选列表,就像这样..
const uniqueItems = []
items.map(i => {
const current = i[itemType]
if (typeof current === 'object') {
if (uniqueItems.filter(o => o.id !== current.id)) {
return uniqueItems.push(current)
}
} else if (!uniqueItems.includes(current)) {
return uniqueItems.push(current)
}
return
})
Run Code Online (Sandbox Code Playgroud)
显然,这段代码并不漂亮,而且有点矫枉过正。
当查询在我的SidebarFilter组件中返回时,我想分派一个动作。这是查询...
const withData = graphql(REPORT_FILTER_QUERY, {
options: ({ isPublished }) => ({
variables: { isPublished }
})
})
const …Run Code Online (Sandbox Code Playgroud)