簡體   English   中英

MobX 與 MobX 狀態樹

[英]MobX vs. MobX State Tree

為什么我應該使用 MobX 狀態樹而不是普通的 MobX? 似乎每次我讀到 MobX 時,都會在同一個地方提到 MST。 是否有人實際使用只是MobX本身?

可能是太籠統的問題...

實際上,如果您考慮一下,MST 或MobX 狀態樹是一個非常具有描述性的名稱。

MobX 速度很快,但不提供任何開箱即用的組織結構,因此像整個狀態的快照、從快照中恢復狀態、自動同步分離的存儲、時間旅行或熱重載等集中式操作要么是不可能的,要么是取決於開發人員的支持。

MST 通過將單獨的商店組織成一個由交互和交互節點組成的單一樹,開箱即用地支持上述所有(以及更多)。

MST(mobx-state-tree)的核心是活樹的概念。 該樹由可變但受到嚴格保護的對象組成,其中豐富了運行時類型信息。 換句話說,每棵樹都有一個形狀(類型信息)和狀態(數據)。 從這棵活樹中,自動生成不可變的、結構共享的快照。

然而,所有這些都是有代價的,而且 MST 通常比純 MobX 慢一些。 因此,如果您不需要這些功能,請不要猶豫,只使用 MobX。

是的,許多人使用“原版”MobX——它本身就具有巨大的價值。 利用“可觀察”狀態的核心概念是 MobX 的殺手級特性。 對我來說,將它與 React 一起使用,它使我能夠無畏地處理瀏覽器中的大量連接數據,而不必擔心“刷新”問題或“計算值”問題。

“MST”的額外層只是增加了更多(有意見的)結構。 (如果你喜歡被告知該做什么,那就太好了;)它更像是一個“Redux”風格的狀態管理器,其中狀態轉換被明確定義,並且像時間旅行這樣的事情是可能的。 對我來說,MobX 本身解決了很多問題,我建議任何新手都應該堅持使用“原版”MobX,在你真正欣賞你從 MobX 本身獲得的東西之前,不要考慮 MST。

我不會進行冗長的比較。

簡而言之,MobX 是一個沒有意見的工具庫,而 MST 是一個建立在 MobX 之上的自以為是的解決方案。

如果您是 MobX 的新手,只需使用 MST。 先熟悉它的概念,然后再決定你的第二個項目:)

Bare MobX 非常靈活,可以非常有創意地使用。 但是你必須明白你在用它做什么。 這有點像黑魔法,威力強大,但需要非常小心。

我正在使用 MST 來響應本機應用程序。 MST 引用對於定義數據模型也非常方便。 我選擇 MST 而不是 mobx 作為參考功能。

不完全回答這個問題,但是,我使用azState我認為沒有理由使用復雜的怪物進行狀態管理

公平披露我寫的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM