如何使用 FlowRouter.go 触发 URL 重新加载

How do I use FlowRouter.go to trigger the URL to be reloaded

我正在尝试使用 React/Meteor 进行分页。通过在 URL 中传递限制参数,我可以定义应显示的结果数。

FlowRouter.route('/books/:_booksLimit?', {
    action() {
        mount(Es6MainLayout, {
            content: (<BookSearchWrapper/>)
        })
    }
})

但是,当我尝试增加限制以加载更多内容时,会生成 URL,但 FlowRouter 实际上并未重新加载页面。我觉得我在这里采取了错误的方法。我应该如何触发 URL 实际重新加载?

目前,这会将 URL 设置为 books/20,但页面实际上不会重新加载,也不会显示其他结果。

loadMore() {
    FlowRouter.go('/books/20')
}

感谢任何帮助!

为了让组件重新渲染,我认为最好的方法是将限制作为 属性 传递给它。

我不确定您的数据加载是如何处理的,但我认为它是某种类型的高阶组件。

因此,像下面这样的东西应该可以工作:

FlowRouter.route('/books/:_booksLimit?', {
    name: 'books.list',
    action({_booksLimit}) {
        mount(Es6MainLayout, {
            content: () => (<BookSearchWrapper limit={_booksLimit} />)
        });
    }
});

如果没有,请确保您正在根据 limit prop 加载数据。