在learnrelay.org开始接力,从教程中设置初始变量https://www.learnrelay.org/queries/variables/的代码是这样的:
export default Relay.createContainer(
ListPage,
{
initialVariables: {
sortOrder: 'id_DESC'
},
fragments: {
viewer: () => Relay.QL`
fragment on Viewer {
allPokemons (first: 1000, orderBy: $sortOrder) {
我们通常会像这样在relay relay中分配变量,但是这段代码在现代接力中引发错误,我不知道为什么?
export default createPaginationContainer(TodoList,
initialVariables: {
first: 10,
},
fragments: {
viewer: graphql`
fragment TodoList_viewer on User {
todos( # we need to expose todos on user so we can check if todo text already exist and sync in database
first: $first
) @connection(key: "TodoList_todos") { #assign a key of connection that can be used shared updater
答案 0 :(得分:2)
您无法在Relay Modern中使用initialVariables
- see this link in the docs。
请注意,截至目前,迁移这些函数的文档非常简短。
如果您现在正在进行此操作,pending update RefetchContainer documentation会显示如何根据变量正确获取和重新获取您的视图。
如果您仅使用变量进行分页,check out PaginationContainer。