reselect

    0熱度

    1回答

    編輯:添加的package.json摘錄 我想實現在現有的反應項目打字稿,我與Reselect圖書館面臨的困難。 Typescript編譯器堅持導入createSelector函數的第一個定義,並且無法識別我的函數的簽名對應於另一個定義。 定義它導入: export function createSelector<S, R1, T>( selector: Selector<S, R1>,

    2熱度

    1回答

    假設我有這個狀態結構中的終極版店: { items: { "id1" : { foo: "foo1", bar: "bar1" }, "id2": { foo: "foo2", bar: "bar2" } } } 此店由接收物品煥發出新的價值觀的演變: const reduceItem

    0熱度

    1回答

    我有選擇器從存儲(filterSelector)獲取當前的過濾器類型。 另外還有3個使用不同邏輯的商店過濾實體,讓我們假設他們的名字是smallEntitiesSelector,mediumEntitiesSelector,bigEntititiesSelector。 什麼是創建選擇器的最佳方式,它將根據存儲器中的過濾器值返回過濾的實體? const filteredEntities = crea

    3熱度

    2回答

    我試圖將一個動態參數傳遞給重選選擇器。原因是這個參數實際上是一個未知的角度路由參數。它也不能成爲國家的一部分。 下面是從所經過的路由參數訂閱組件的相關代碼: this.store.select(fromRoot.getMessagesWithOtherUserAccount(this.route.params['otherId'])) .subscribe(messages => th

    0熱度

    1回答

    我在Redux回聲系統中找到了自己的方法,並且遇到了以下的問題:假設我有一個應該連接到REDX的React組件狀態部分使用選擇器,但這部分尚不存在(未定義)。所以,在運行時,我得到一個「得到未定義的」錯誤。是否有可能以某種方式定義選擇器並將其連接到組件,即使狀態部分尚不存在? 我使用的是重新選擇創建的選擇,這是我使用,以避免引發錯誤解決方法: import { createSelector } f

    0熱度

    1回答

    我正在使用重新選擇庫。 我有很多組件連接(在他們的stateProps)到某個選擇器(用重新選擇實現,讓我們把它稱爲選擇器A)。每當選擇器A的參數(也是選擇器稱爲B,C,D)發生更改時,選擇器A將重新計算並分別爲每個連接的組件調用。由於這個計算是密集的,這使我在性能上花費了很多。有沒有辦法避免這種情況併爲所有人計算一次? 謝謝

    0熱度

    2回答

    術語「選擇器」聽起來讓我感到困惑。 在官方文檔Computing Derived Data。這是有道理的名稱映射程序「選擇」因爲你確實在過濾的東西。有點「選擇一個不同的零件店」。 但理論上,您可以在MapThingsToProps函數中進行任何計算,例如將扁平數據結構轉換爲您的UI組件需要的嵌套數據結構,或者計算一些臨時數據。 諸如「Adapter」,「Data Transformer」,甚至是「

    0熱度

    1回答

    我試圖用一個重新選擇選擇作爲參數傳遞給另一個選擇: import { createSelector } from 'reselect' const productsSelector = state => { return state.get('searchResults').get('products') } export const getSelectedProduct =

    1熱度

    1回答

    我有一個〜5000個元素的列表,我想通過用戶給出的searchPhrase進行過濾。 通常用戶鍵入過濾短語的第一個字母,然後是第二個,然後是第三個。 例如,用戶類型'a',然後'ab',然後'abc'。 我正在嘗試使用reactjs/reselect庫來提高過濾性能。 我已經使用這個LIB如實施例上自述: Example 我已經改變這個方法: export const getVisibleTodo

    1熱度

    1回答

    我需要將道具傳遞給選擇器,以便我可以從選擇器中獲取點擊項目的內容。然而我無法通過道具。我想這樣,但沒有成功 const mapStateToProps = createStructuredSelector({ features: selectFeatures(), getFeatureToEditById: selectFeatureToEditById(), }); h