當然有睇過 Dan 嘅 Twitter 先話佢離地,Redux 被人濫用亦十分常見,啲人甚至要完全依賴 Redux debugging tool 先生存到,啲 Code 寫哂係度但搵唔到個 Bug係邊,要花時間 Click Click Click 個 debugging tool 先搵到問題所有。
睇 Code 搵唔到 Bug 有好多原因,一黎可以係自己寫得差設計得唔好,二黎係真係冇咁多 Resource Declaratively 寫足啲 Scenario,三黎可以係個人本身個腦唔夠多 RAM 之類。但你諗深一層,如果有一個 Senior 幫新手 Code Review 佢一樣會 Trace 唔到而睇漏眼,變相 Code Review 變咗 Check structures Check architecture Check Syntax 而唔會睇下 State management 正唔正確,咁絕對唔係一件好事。
另外 UI/UX 係 Product 層面上一定會經常轉,如果改個幾版UI ,你個 State 要重寫咁制係因為 Redux 比唔到 Flexibility 你,咁証明 Redux 唔太啱用,呢個係鐵一般嘅事實;Redux 唔啱用亦唔代表 MobX 會啱用,我想指出嘅係啱唔啱用其實好客觀,唔係好似 Dan 咁主觀只有「用或者唔用」,單純指出 Redux 未必需要用,可以自己手撩 Local State 簡直離地到癲,佢根本冇諗過點樣可以更 Efficient 及有系統地撩 Local State。
唔知你有冇用過 MobX,MobX 個 scope 可以好細,甚至可以用 MobX 取代手撩 Local State,比起自己手撩有更多功能提供比你用。 如果你有寫過 Vue,你會明白係 Vue 相對 React 下撩 Local State 有幾方便,MobX 亦係參考 Vue 個做法整出黎。順帶一提係 Vue 嘅世界,大約只需要有 5-10% Coding 需要用到 Vuex (類似 Redux 嘅野)多數係 Global State 先會用,大部份情況 Vue 提供撩 Local State 嘅方法已經 足夠 Manage 得到。
我係兩邊都用過一段長時間先會咁 Comment ,MobX 個概念清𥇦,Doc 都算易睇,與其花時間搵 Dan 啲 Tweet 去証明某啲野,不如即刻試下
Redux 同 MobX 係兩樣完全唔同嘅 State Management 風各,兩邊都好值得學習