2016-01-23 18 views

回答

3
  1. 組件應該有單一職責(的SOLID原則之一) - 渲染UI視圖。如果它寫入商店,則違反這一原則。

  2. 爲了獲得更多組件的可重用性 - 最好刪除不必要的依賴關係。直接編寫存儲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)。

相關問題