前言##
那是15年剛學前端那會,第一次angular中見到location服務,應該是這么說來著,跟著教程一步步注入,監聽,使用,驚訝于前端路由可以這么玩的。真的是,頗有有一種大局在握的感覺。
后來直到有一天看到flux,redux,忽然意識到原來他是這么個玩意,我們擁有了了統一的狀態管理出入口。
簡介##
讓我們重新認識一下我們的web開發。
web狀態機的認識。
回到URL##
URL中路由和查詢參數也是狀態,他也只不過是聚合狀態中的普通的一個子集。而對于路由和查詢參數的處理會稍稍不同。
路由就是正常跳轉視圖,沒什么問題。
而對于參數我們需要同時改變組件中的值,如第幾頁,頁碼大小。
那么對于使用者顯然不希望管理起來過于復雜,既要修改URL又要修改組件中的state。
而一旦引入了狀態管理,每個動作都是有跡可循的,每個動作派發下去,改變了唯一的數據源,也就是這里的頁碼。
那么URL組件以及分頁器組件中依賴的數據源就會同步更新,看,一切顯得這么流暢。
總結##
這里用angular的location來解釋redux其實有些牽強,其實是當時自己實現了一個簡易的store,action,但沒有reducer的低配版flux。
至于修改URL的特性低版本瀏覽器的降級方案,URL參數的四種形式利弊,需要補充。
原來思考的太少,僅僅覺得工具驚艷是不夠的,如果有更進一步的挖掘相信會有更大的收獲。