如何使用 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 加载数据。
我正在尝试使用 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 加载数据。