1
允許從React組件直接寫入存儲是一個好主意,還是反模式? (不使用調度員)組件應該寫入React js應用程序中的商店嗎?
允許從React組件直接寫入存儲是一個好主意,還是反模式? (不使用調度員)組件應該寫入React js應用程序中的商店嗎?
組件應該有單一職責(的SOLID原則之一) - 渲染UI視圖。如果它寫入商店,則違反這一原則。
爲了獲得更多組件的可重用性 - 最好刪除不必要的依賴關係。直接編寫存儲UI組件的情況將取決於商店實現。更好 - 從調度器中刪除依賴。使用道具明確設置回調:
const Component = React.createClass({
render: function() {
return <button onClick={ this.props.onClick }></button>;
}
});
<Component onClick={ callDispatcher } />
在這種情況下,您的Component
是最可重複使用的。你甚至可以在不同的'flux'實現的不同項目中使用它。
看到很多好的想法在終極版 - 從部件中刪除儘可能多的依賴成爲可能。在Redux中,所有組件都是「啞」/「純」(它們沒有狀態),並且可以通過帶參數的組件(例如Redux的connect
)的函數將狀態附加到組件。它也叫高階元件。
高階組件只是一個函數,它將現有的 組件並返回包裝它的另一個組件。
See more details(來自Redux的作者Dan Abramov)。
您是否有助焊劑實施? Redux? –