graphql - 在 relay.refetch 之后 UI 没有改变
问题描述
我正在尝试实现简单的分页(不是基于光标的)并使用不同的参数重新获取数据。数据是从服务器获取的,但 UI 没有改变。
const tableQuery = graphql`
query TableDataRefetchQuery(
$page: Int
$startDate: Date!
$endDate: Date!
) {
data(
startDate: $startDate
endDate: $endDate
page: $page
) {
...Table_data
@arguments(
startDate: $startDate
endDate: $endDate
page: $page
)
}
}
`;
这是容器:
const Container = createRefetchContainer(
Table,
{
data: graphql`
fragment Table_data on Data
@argumentDefinitions(
startDate: { type: "Date!" }
endDate: { type: "Date!" }
page: { type: "Int", defaultValue: 1 }
) {
collection {
id
state
date
...
}
currentPage
totalPages
}
`,
},
tableQuery
);
这是我重新获取数据的方法:
const handlePageClick = ({ selected }) => {
const newPage = selected + 1;
relay.refetch({ page: newPage }, null, () => console.log('Refetch done'));
};
知道我在做什么错吗?
解决方案
推荐阅读
- python - 当字段可以为无时如何使用 timedelta 进行过滤?
- python - 如何使用 BeautifulSoup 找到类 _XWk?
- javascript - 如何使 URL 参数匹配可选
- typescript - ts-jest 返回“类型实例化过深并且可能无限”,但 tsc 编译正常
- c - 如何使用 C 以编程方式更改设置以使 Linux 终端中字符的宽度和高度相同而没有任何间距?
- python - 在 Lambda 函数中使用 OR - Web Scraping Python
- java - 为什么?状态:Google Play 上的 Wear OS 不接受应用程序
- scala - 提取数组元素并将它们映射到案例类
- visual-studio-2022 - Maui App 无法使用 Android Simulator 命名空间缺失
- javascript - 在 Keyup (JavaScript | jQuery) 上选择并突出显示从索引 5 到 8 开始的特定文本框值