一往 發表於 2020-6-17 13:36:00

初步学习next.js-3-6个路由钩子

<div class="cnblogs_code">
<pre>import React from 'react'<span style="color: rgba(0, 0, 0, 1)">
import Link from </span>'next/link'<span style="color: rgba(0, 0, 0, 1)">
import Router from </span>'next/router'<span style="color: rgba(0, 0, 0, 1)">


const Home </span>= () =&gt;<span style="color: rgba(0, 0, 0, 1)"> {

</span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> gotoXiaojiejie(){
    Router.push({
      pathname:</span>'/xiaojiejie'<span style="color: rgba(0, 0, 0, 1)">,
      query:{
      name:</span>'井空'<span style="color: rgba(0, 0, 0, 1)">
      }
    })
}



Router.events.on(</span>'routeChangeStart',(...args)=&gt;<span style="color: rgba(0, 0, 0, 1)">{
    console.log(</span>'1.routeChangeStart-&gt;路由开始变化,参数为:'<span style="color: rgba(0, 0, 0, 1)">,...args)
})

Router.events.on(</span>'routeChangeComplete',(...args)=&gt;<span style="color: rgba(0, 0, 0, 1)">{
    console.log(</span>'2.routeChangeComplete-&gt;路由结束变化,参数为:'<span style="color: rgba(0, 0, 0, 1)">,...args)
})

Router.events.on(</span>'beforeHistoryChange',(...args)=&gt;<span style="color: rgba(0, 0, 0, 1)">{
    console.log(</span>'3,beforeHistoryChange-&gt;在改变浏览器 history之前触发,参数为:'<span style="color: rgba(0, 0, 0, 1)">,...args)
})

Router.events.on(</span>'routeChangeError',(...args)=&gt;<span style="color: rgba(0, 0, 0, 1)">{
    console.log(</span>'4,routeChangeError-&gt;跳转发生错误,参数为:'<span style="color: rgba(0, 0, 0, 1)">,...args)
})

Router.events.on(</span>'hashChangeStart',(...args)=&gt;<span style="color: rgba(0, 0, 0, 1)">{
    console.log(</span>'5,hashChangeStart-&gt;hash跳转开始时执行,参数为:'<span style="color: rgba(0, 0, 0, 1)">,...args)
})

Router.events.on(</span>'hashChangeComplete',(...args)=&gt;<span style="color: rgba(0, 0, 0, 1)">{
    console.log(</span>'6,hashChangeComplete-&gt;hash跳转完成时,参数为:'<span style="color: rgba(0, 0, 0, 1)">,...args)
})




</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)">(
    </span>&lt;&gt;
      &lt;div&gt;我是首页&lt;/div&gt;
      &lt;div&gt;
      &lt;Link href={{pathname:'/xiaojiejie',query:{name:'结衣'}}}&gt;&lt;a&gt;选结衣&lt;/a&gt;&lt;/Link&gt;&lt;br/&gt;
      &lt;Link href="/xiaojiejie?name=井空"&gt;&lt;a&gt;选井空&lt;/a&gt;&lt;/Link&gt;
      &lt;/div&gt;
      &lt;div&gt;
      &lt;button onClick={gotoXiaojiejie}&gt;选井空&lt;/button&gt;
      &lt;/div&gt;
      &lt;div&gt;
         &lt;Link href="#jspang"&gt;&lt;a&gt;选JSPang&lt;/a&gt;&lt;/Link&gt;
      &lt;/div&gt;
    &lt;/&gt;
<span style="color: rgba(0, 0, 0, 1)">)

}
export </span><span style="color: rgba(0, 0, 255, 1)">default</span> Home</pre>
</div>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/lxz-blogs/p/13151984.html
頁: [1]
查看完整版本: 初步学习next.js-3-6个路由钩子