簡體   English   中英

React + Alt:使用多個存儲中的數據向DataSource發出請求

[英]React + Alt: Use data from multiple stores to make a request to DataSource

我正在使用將React與Alt Flow實現結合在一起的應用程序。 目前,我正在嘗試找出使用多個Alt商店中的數據向后端撰寫請求的最佳方法。

說,我的DataSource文件中有一個SheetDataStoreFiltersStorefetchFilteredData方法。 為了從后端獲取正確的數據,我需要將一些工作表數據和過濾器都傳遞給fetchFilteredData ,但是當您從其中一個存儲調用fetchFilteredData方法時,可以傳遞一些參數和該存儲的狀態。

所以我看到了兩種處理這種情況的方法:

1)我執行2個操作: prepareFiltersfetchData prepareFilters是從組件調用的,並由FilterStore處理,后者准備所有必需的數據,然后調用fetchData操作,將准備好的數據作為參數傳遞。 SheetDataStore處理fetchData操作並立即調用具有所有必需數據的fetchFilteredData

我在這里不喜歡的是,在我看來,商店不應該呼吁采取行動,所以這是一種駭人聽聞的解決方案。

2)我導入FilterStoreSheetDataStore和使用FilterStore.getState()的一個內部SheetDataStore方法來得到我需要的所有數據。 這似乎很容易,但是像這樣耦合商店可能會有一些陷阱。

對於這種情況,是否有最佳實踐? 也許你們中的一些人也遇到過類似的問題,並且可以從您的經驗中推薦采取哪種方法?

在組件中進行綁定。 假設您具有FilterComponent然后將搜索操作SheetDataAction.search給它: <FilterComponent search={SheetDataAction.search} />

然后在FilterComponent.render()執行<button onClick={() => this.props.search(this.props.criteria)} />

暫無
暫無

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

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