SolidJs中有类似onRouteChange的事件吗?

Fel*_*aro 3 javascript url routes solid-js

每次 url 更改时我都需要运行一些逻辑。

我的应用程序使用solid-app-router https://github.com/solidjs/solid-router

我如何订阅 SolidJS 中的路由器更改?

Fel*_*aro 5

solid-app-router有一个useLocation原语(钩子)。useLocation 可以访问location类似商店的对象,这意味着它的属性是反应性的。

因此,总而言之,为了有机会在每次 url 更改时运行代码,我们所要做的就是用location.pathname一个createEffect()钩子包装起来

import { useLocation } from "solid-app-router";


export function MyComponent() {

    const location = useLocation();

    createEffect(() => {
       
        console.log(location.pathname);
    })

 // ...
Run Code Online (Sandbox Code Playgroud)