單頁面狀態管理的思考

2022-03-14 17:42:54 字數 739 閱讀 2451

問題

1. 是否需要乙個api專門管理狀態?

看到元件中很大一部分**都是在修改狀態,或者根據一些狀態設定另外乙個狀態。這種對狀態的改變,佔了大部分的**。

前端簡單說就是 dom = fn(data)

又可以大致分為4種**:

1. ajax請求

2. 計算:根據一種資料算出另外一種資料

3. 改變狀態:初始化,根據ajax請求結果修改,根據計算結果修改,根據其他狀態修改

4. 模版:讀取狀態,進行顯示

stateless-api:ajax請求和計算結合起來得到一層無狀態的api層

state-api:改變狀態的邏輯和無狀態的api層結合起來得到有狀態的api層

components: 模版和有狀態的api結合得到元件層

stateless-api層的實現:與框架無關,與狀態管理無關,純js/ts實現。1. 定義功能介面 2. 定義entity類 3. 選一種ajax/websocket庫,ajax/websocket請求資料

state-api層的實現: 選一種狀態管理的庫(redux/vuex/rxloop), 暴露乙個全域性state物件, 暴露所有action介面,action 介面中會呼叫stateless-api層,返回

components層的實現:選一種框架(iview/react/angular),引入全域性state物件,從中提取當前component需要的來自其他元件的狀態;引入所需的submit介面,將本元件發出的事件發出去。

單頁面應用 狀態管理

今天在學習中,看到了關於vuex的一些東西,首先來說明一下vuex是用來幹啥的,我的理解就是用來儲存全域性變數的乙個東西,能夠方便的處理元件之間通訊和管理一些共用的狀態。關於一些細節說明,不得不說vue的文件還是很詳細的。思考乙個問題 什麼樣的資料需要存在vuex裡?看完vuex的說明,有乙個小想法...

移動前端單頁面製作的一些思考

一.路由 場景是,webview單頁面,url不會變化。兩個標識,頁面自己的路由標識,當前路由狀態。進入到某頁面,當前路由狀態更新為某頁面標識。有一張路由表,監聽回退事件。一旦回退,依據路由表和當前路由狀態,找到頁面,觸發該頁面的回退事件。路由標識名字建議,grandfather father so...

專案管理的思考

相信對很多剛做幾年程式設計工作的人來說,都會遇到這個問題 膨脹以後,混亂 複雜 無序 無從下手 無法全盤駕馭 動一發而牽全身,像乙個混亂的城市。面對這種複雜度,無比痛苦糾結,拼命加班也無濟於事。不得不停下來思考,怎麼組織管理好自己的 讓它恢復成乙個有序整齊的城市。大全這本書,很久以前就聽說過,但是當...