我正在尝试使用typescript,preact和preact-router来弄清楚如何构建Web应用程序的前端部分。我已经走了很长的路,但我仍然需要弄清楚如何使用preact-router以编程方式导航(重定向)。我可以history.replaceState(null, null, '/#/redirectedUrl');
,但是当更改位置栏中的URL时,preact-router不会路由到新的URL。
使用preact-router时以编程方式导航的首选方法是什么?
答案 0 :(得分:8)
从route
导入功能'preact-router'
是可行的方法:
import { route } from 'preact-router';
route('/url/to/rout/to');
答案 1 :(得分:1)
您可以根据需要以两种方式完成
import { route } from 'preact-router';
route('url');
这将在历史记录中创建 pushState (即),它将为此网址创建一个新条目
import { route } from 'preact-router';
route('url', true);
这将在历史记录中创建 replaceState (即),这将使用您将路由到的网址替换历史记录中的当前网页网址条目。您可以在以下情况下使用此功能,例如,当从登录屏幕路由到您的主页/ dashbaord屏幕时,点击浏览器后退按钮,您不希望用户在用户登录后返回登录屏幕in(从而用dashbaord条目替换登录条目)。