响应式应用程序中的分页源流

时间:2015-09-10 15:14:53

标签: javascript frp bacon.js

我正在开发一个使用Bacon.js构建的应用程序,并使用React进行渲染(虽然这似乎与问题密切相关。我正在构建一个页面,它是一个无限滚动的数据列表你可以对结果进行过滤或排序,添加或删除列。我基本上都有这个工作,但实现有点不尽如人意。

我有一个查询流

const query = combineTemplate({
  checksum,
  fields,
  filters,
  sort,
  page
})

我会监听此流上的更改并触发更新我的项目的新查询:

const searches 
const items = update([],
  [query.changes().map(({checksum}) => checksum).skipDuplicates()], () => [],
  [searches], mergeResults
)

那里的校验和是由字段,过滤器和排序生成的,并且基本上告诉我何时需要完全清除当前的结果集。另一个注意事项是无限滚动列表被设置为显示结果集的整个长度,即使并非所有页面都已加载,因此结果集长度需要等于总长度,因此需要额外的页面而不是#39足够了。

正如我所说,我有这个工作,但它似乎非常脆弱,而且很混乱。想知道是否有人管理这种情况的技术,我见过的大多数帖子似乎都假设你将永远收回整个数据集。

0 个答案:

没有答案