我一直在尝试 relay-modern 一段时间,我想知道createFragmentContainer
除了描述应该属于Component
.
例如,这就是文档显示它应该如何的方式
父.js
<QueryRenderer
render={({error, props}) => {
if (error || props) {
return <Child someData={someData}>
}
return <div>Loading</div>
}}
query={graphql`
query SomeQuery($id: ID!) {
endpoint(id: $id) {
...Child_someData
}
}
`}
/>
Child.js
export default createFragmentContainer(
({someData}) => <header>{someData.title} - {someData.name}</header>,
graphql`
fragment Child_someData on EndPoint {
title
name
}
`
)
但相反Child.js
,我可以用查询重写或拆分组件到 2 个不同的文件,如下所示:
ChildComponent.js
export default ({someData}) => <header>{someData.title} - {someData.name}</header>
Child.js
export default graphql`
fragment Child_someData on EndPoint {
title
name
}
`
它仍然可以工作(Parent.js仍然会识别片段)。所以这让我想知道是否createFragmentContainer
只是为了让语法糖更整洁。
如果有人能用这个照亮,那就太棒了!在有关此的文档中找不到太多内容