2017-06-20 56 views
0

術語「選擇器」聽起來讓我感到困惑。爲什麼Redux使用術語「選擇器」?

在官方文檔Computing Derived Data。這是有道理的名稱映射程序「選擇」因爲你確實在過濾的東西。有點「選擇一個不同的零件店」。

但理論上,您可以在MapThingsToProps函數中進行任何計算,例如將扁平數據結構轉換爲您的UI組件需要的嵌套數據結構,或者計算一些臨時數據。

諸如「Adapter」,「Data Transformer」,甚至是「Mapper」等名稱是否比「Selector」更好?

或者如果我誤解了「選擇」或「選擇過程」的含義?

謝謝!

回答

1

「選擇」出現術語已經率先在redux#47被使用,並且想法從NuclearJS庫中的「吸氣劑」的概念的啓發。我沒有看到特別提及爲什麼這個詞是用過的。但是,connect()的前幾次迭代使用select作爲數據檢索函數,而不是mapStateToProps,所以我猜測它來自於此。

總的來說,我認爲你的得太多術語有點:)

1

我想這一定是類似於SQL SELECT東西。在RDB或Redux存儲區中存儲了標準化數據,您可以選擇使用某種非規範化或卷積的方式對該數據進行投影,或者甚至選擇任何您想要的內容,如常量或當前日期。

+0

如果您的問題不是關於名稱,而是關於選擇器的內部,那麼您只需要選擇器,因爲存儲過程適用於每個選擇器並顯着提高整體性能。 –