【问题标题】:Preact Router not replacing historyPreact Router 不替换历史记录
【发布时间】:2019-08-12 02:49:54
【问题描述】:

在我的应用程序中,我创建了每次点击链接都会调用路由方法的分页。我在链接的onClick 中调用这样的方法。

route(`users/${activePage}/per_page/${per_page}`,true)

第一次单击它表现良好,它会替换历史记录,但下次单击它会附加历史记录,因此如果之前的users/2/per_page/5 将附加/users/2/per_page/users/3/per_page/3。我做错了什么?

【问题讨论】:

    标签: preact


    【解决方案1】:

    在您的 onClick 处理程序中,返回 false 或调用 event.stopPropagation(),event.preventDefault():

    <a href="/page/2" onClick={e => {
      route('/blah', true);
      e.stopPropagation();
      e.preventDefault();
    }}>2</a>
    

    FWIW,用这种行为覆盖链接通常被认为不利于用户体验/可访问性。

    【讨论】:

    • 抱歉,我刚刚注意到 - 您的网址不正确。它必须以斜杠开头:route(`/users/${activePage}/per_page/${per_page}`,true)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 2019-08-03
    相关资源
    最近更新 更多