我是用無狀態元件解決的。使用vue。
現在的ng,vue,react之類的 只要元件帶有私有狀態了,在複雜的場景下都難以控制。往往需要藉助redux,vuex 把狀態都共享出去,這樣的弊端就是——元件不純了,可複用性降低,使用成本提高了。vue,react 之流並不適合無狀態元件,一般來說元件自身的狀態發生變化只渲染自個,如果把狀態抽離,那可能就會渲染所有的元件了。但是我管不了那麼多了,能優美的完成業務比損失少量效能要重要的多。 我把所有的資料都放到最外層,透過input事件和value屬性控制資料流,幸運的是效能並沒有下降多少,依然很流暢。
說下我的表單, 大概有5類不同展示的表單匯聚成一個頁面,表單欄位有上百個,同一個頁面中,可以分塊儲存,也不乏有元件關聯元件,也有幾個是可編輯表格,大概有上傳圖片,圖片控制,複製,刪除功能。還有一些奇奇怪怪的元件,提交的時候從表單上資料能達到上千個(不算表單驗證的部分)。說下我的無狀態元件。 這裡無狀態元件並不是元件只寫展示層。實際上,展示,控制,請求介面之類邏輯都有。這樣維護和管理起來比較方便,透過外層呼叫來組裝。也就是說元件自身的邏輯放到元件自己身上,執行的時透過外層呼叫將資料在外層,外層可以訪問子元件,子元件訪問不了外層元件。可能會讓你感到不爽的地方是需要使用不可變資料來傳遞給外層,改變資料從新渲染。為此我專門寫過文章 優美的使用Vue工作 文筆寫的不是很好,但重在描述思路。。。 感興趣的可以將就著看。
我是用無狀態元件解決的。使用vue。
現在的ng,vue,react之類的 只要元件帶有私有狀態了,在複雜的場景下都難以控制。往往需要藉助redux,vuex 把狀態都共享出去,這樣的弊端就是——元件不純了,可複用性降低,使用成本提高了。vue,react 之流並不適合無狀態元件,一般來說元件自身的狀態發生變化只渲染自個,如果把狀態抽離,那可能就會渲染所有的元件了。但是我管不了那麼多了,能優美的完成業務比損失少量效能要重要的多。 我把所有的資料都放到最外層,透過input事件和value屬性控制資料流,幸運的是效能並沒有下降多少,依然很流暢。
說下我的表單, 大概有5類不同展示的表單匯聚成一個頁面,表單欄位有上百個,同一個頁面中,可以分塊儲存,也不乏有元件關聯元件,也有幾個是可編輯表格,大概有上傳圖片,圖片控制,複製,刪除功能。還有一些奇奇怪怪的元件,提交的時候從表單上資料能達到上千個(不算表單驗證的部分)。說下我的無狀態元件。 這裡無狀態元件並不是元件只寫展示層。實際上,展示,控制,請求介面之類邏輯都有。這樣維護和管理起來比較方便,透過外層呼叫來組裝。也就是說元件自身的邏輯放到元件自己身上,執行的時透過外層呼叫將資料在外層,外層可以訪問子元件,子元件訪問不了外層元件。可能會讓你感到不爽的地方是需要使用不可變資料來傳遞給外層,改變資料從新渲染。為此我專門寫過文章 優美的使用Vue工作 文筆寫的不是很好,但重在描述思路。。。 感興趣的可以將就著看。