【发布时间】:2018-03-09 16:52:40
【问题描述】:
在 Relay Modern 中,如何仅刷新列表中的一个项目?
我有一个分页列表。
稍后在代码中,我只想刷新一个项目,而不是整个列表。
如何在现代接力赛中做到这一点?
【问题讨论】:
标签: relayjs relay relaymodern
在 Relay Modern 中,如何仅刷新列表中的一个项目?
我有一个分页列表。
稍后在代码中,我只想刷新一个项目,而不是整个列表。
如何在现代接力赛中做到这一点?
【问题讨论】:
标签: relayjs relay relaymodern
我不知道RefetchContainer 可以在没有QueryRenderer 的情况下使用。
以下设置(简化代码)对我有用。
我所要做的就是在 ListItem 上调用 this.props.relay.refetch({id: this.props.item.id}),它会重新获取列表中的单个项目。
createRefetchContainer(ListItem,
{
item: graphql`
fragment ListItem_item on Item {
id
value
}
`
},
graphql`
query ListItemRefetchQuery($id: ID!) {
node(id: $id) {
...ListItem_item
}
}
`,
);
);
createFragmentContainer(List,
{
list: graphql`
fragment List_list on List {
items {
...ListItem_item
}
}
`
);
);
【讨论】: