我目前有一個問題,我不確定如果我只是沒有看到更大的圖片(或者可能不這樣做),或者如果這是有效的減少... ...React-Redux - 向組件廣播一個動作
我有一個固定大小的SVG圖表。用戶可能會在我的頁面上打開一個面板,這會減小圖表的寬度。這導致我的圖表被壓縮。要解決這個問題,圖表應該更新維度,以便再次看起來很好。
所以...我有一個組件,用戶點擊以打開面板。該組件應該觸發一個動作,理想情況下是一般的,可重用的,如「rerenderSVG」。我可以使用標準的redux工作流程,並讓我的reducer在我的狀態中放置一些標誌,並讓我所有與svg相關的組件都能聽到。但這感覺像是過度殺傷。在我的狀態下,這是我所不希望的,我只想要一個廣播給所有安裝組件的動作,例如「嗨,組件,這只是發生了,如果這涉及到你:請做出反應」。
這可以很容易地完成在流量,但在減少...我不知道。這種模式是否能夠實施,並仍然符合減排方式?
如果這個問題是如此的平凡以至於已經有成千上萬的帖子對不起!但我真的不知道要查找哪些關鍵字...
請糾正我,如果我錯了,但不是減速機錯誤的地方,我的問題?就像我說的:我不想改變我的狀態。我想要一個行動被派遣/廣播到一個組件。所有reducer都可以做的是在我的應用程序狀態中添加一個標誌,以便我的組件可以監聽它。 ...我越想越多,我感覺這不可能以重做的方式完成,但我仍然想問問...... – hurrtz
如果只有一個組件需要知道新的縮小尺寸,那麼縮減器可能不是一個好的地方。如果它是多個組件需要知道新的縮小尺寸,那麼可能是。我想在流量中直接在組件中訂閱並使用setState觸發重新渲染,而不是將其保存在商店中。是。在這種意義上你是對的,沒有辦法在沒有實際改變狀態的情況下通知組件。你可以寫一個redux中間件,但我不認爲這是一個很好的解決方案。 –