大家早上好。
最近我一直在尝试GraphQL并为一个小型个人项目做出反应。我目前正在尝试进行某种“标签搜索”,但是我无法使其以我想要的方式工作。 首先是架构:
type Book{
id: ID
name: String
tags: [Tag]
}
type Tag {
id: ID
name: String
}
使用该架构,我想在标签搜索中放入“ fantasy”和“ romantic”之类的标签,查询将只返回每一个具有“ fantasy”或“ romantic”标签的Book。我想放入尽可能多的标签,而我发现的每个示例都只包含一个ID或一个名字……或者我弄错了。 我已经搜索了很多问题,但仍然不知道该怎么做,因此,如果以前已经回答过,我将非常抱歉。
这是我当前应该执行的工作图书组件:
const Books= () => (
<Query query={gql`
{
Book {
name
tags {
name
}
}
}`}>
{({ loading, error, data }) => {
if (loading) return <p>Loading...</p>
if (error) return <p>Sorry, something wrong happened.</p>
return data.Book.map((currentBook) => (
<Book book={currentBook} />
));
}}
</Query>
);
export default Books;
让我们留下来做
Book {
name
tags(name: ["fantasy", "romantic"]){
name
}
}
我发现的唯一方法是将标签从node转换为String数组。但这确实不是我要解决的解决方案。
非常感谢。