react中的路由模塊化


在vue中,可以將路由單獨寫在一個配置文件中,便於整理維護,而在前面總結整理的react中,都是直接將路由配置放在需要使用的地方,少數的時候話可以接受,但是當項目做大,這種方式就不再被推薦了,我們再react中,也可以向vue那樣,將路由配置模塊化,然后在需要使用的地方引入就可以了。

本次路由模塊化整理使用的是上一篇的項目,在上一篇的結束,有提供下載鏈接。

項目准備

在上一節的最后,實現了嵌套路由:

這里要實現路由模塊化,首先實現單層路由下的模塊化,再實現嵌套路由的路由模塊化,所以,首先修改一下News.js(因為后面話需要使用嵌套路由,所以這里先注釋,而不是刪除)。

路由模塊化

https://reacttraining.com/react-router/web/example/route-config

查看文檔可以看到,實現路由模塊化,首先需要使用數組來存儲數組,所以先來整理App.js

  

 

按照上面這樣做,雖然沒有報錯,但是也沒有完全實現想要的效果,為了實現默認顯示Home頁面,在配置路由的時候,將Home組件的路徑配置為“/”,但是這樣的話,路徑“/news”也會配匹配到,所以還需要在默認顯示的模塊路徑下配置嚴格匹配模式:

  

好了,簡易的路由模塊化就實現了。

代碼分離

目前,只有少量的路由,將路由配置放在根組件里,影響也不是很大,但是個人習慣,還是喜歡將路由配置單獨配置,其實就是新建一個文件來存儲路由配置就可以了。

1,在src文件夾下新建router.js文件。

2,將路由配置移入到router.js並暴露出來。

3,在需要使用路由的位置,這里就是App.js文件中引入router.js,完成。

嵌套路由的路由模塊化

 要實現嵌套路由,首先要將上面注釋掉的一段代碼恢復,然后按照上面一樣的配置就可以了。

1,在router.js文件中配置路由。因為時政要聞和娛樂新聞都是News組件下的二級路由,所以使用配置路由的時候也需要嵌套在news路徑下。

2,在App.js中,將二級路由使用父子組件傳值的方式傳遞到子組件中去。

3,在需要使用嵌套路由的子組件中回去父組件傳遞的路由值,進行渲染。

 到此,嵌套路由的模塊化也實現了。

代碼下載:點這里

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM