Reactjs 一个React组件中有多个继电器碎片?
这是一个例子。问题是,如果我的TodoItem组件中还需要一些其他数据,这些数据在数据图中完全位于不同的位置,并且无法通过Todo->TodoItem链到达,该怎么办Reactjs 一个React组件中有多个继电器碎片?,reactjs,graphql,relay,relaymodern,Reactjs,Graphql,Relay,Relaymodern,这是一个例子。问题是,如果我的TodoItem组件中还需要一些其他数据,这些数据在数据图中完全位于不同的位置,并且无法通过Todo->TodoItem链到达,该怎么办 class TodoItem extends React.Component { render() { const item = this.props.data; } } module.exports = createFragmentContainer( TodoItem, graphql` fr
class TodoItem extends React.Component {
render() {
const item = this.props.data;
}
}
module.exports = createFragmentContainer(
TodoItem,
graphql`
fragment TodoItem on Todo {
text
isComplete
}
`,
);
似乎Relay/GraphQL要求视图与数据模型在同一层次结构中组成。组件是否有办法访问其他片段?我不知道,像这样的:
module.exports = createFragmentContainer(
TodoItem,
graphql`
fragment TodoItem on Todo {
text
isComplete
}
`,
graphql`
fragment FriendItem on Friends {
name
}
`,
);
query={graphql`
query AppQuery {
todos {
...TodoItem_todo
}
friends {
...FriendItem_friend
}
}
`}
我不确定这是否是您想要的(我也只是从relay开始),但您可以在
createFragmentContainer
函数中指定不同的片段:
碎片容器:
export default createFragmentContainer(TodoItem, {
todo: graphql`
fragment TodoItem_todo on Todo {
text
isComplete
}
`,
friend: graphql`
fragment FriendItem_friend on Friends {
name
}
`,
});
然后在您的queryRenderer
中:
module.exports = createFragmentContainer(
TodoItem,
graphql`
fragment TodoItem on Todo {
text
isComplete
}
`,
graphql`
fragment FriendItem on Friends {
name
}
`,
);
query={graphql`
query AppQuery {
todos {
...TodoItem_todo
}
friends {
...FriendItem_friend
}
}
`}
我不确定这是否是您想要的(我也只是从relay开始),但您可以在
createFragmentContainer
函数中指定不同的片段:
碎片容器:
export default createFragmentContainer(TodoItem, {
todo: graphql`
fragment TodoItem_todo on Todo {
text
isComplete
}
`,
friend: graphql`
fragment FriendItem_friend on Friends {
name
}
`,
});
然后在您的queryRenderer
中:
module.exports = createFragmentContainer(
TodoItem,
graphql`
fragment TodoItem on Todo {
text
isComplete
}
`,
graphql`
fragment FriendItem on Friends {
name
}
`,
);
query={graphql`
query AppQuery {
todos {
...TodoItem_todo
}
friends {
...FriendItem_friend
}
}
`}
这似乎正是我想要的。你测试过吗?不是用相同的项目,而是用相似的数据结构。这似乎正是我想要的。你测试过吗?不是用相同的项目,而是用相似的数据结构。完美