2017-07-10 91 views
3

在參考這種編碼模式:爲什麼要爲redux連接創建一個新的Component類?

import React, { Component } from 'react'; 
import { connect } from 'react-redux'; 
import Thing from '../components/Thing'; 

class ThingContainer extends Component { 
    render() { 
    return <Thing {...this.props} />; 
    } 
} 

function mapStateToProps(state) { 
    ... 
} 

export default connect(mapStateToProps)(ThingContainer); 

所以1)出口的成分(東西),2)創建另一組分(ThingContainer這在技術上是不是容器)類來渲染該第一組分,以及最後使用連接到最終導出容器。

跳過上面的步驟2和直接使用導入的組件(Thing)直接導出容器​​有什麼不同?

回答

3

是的,該文件看起來有點不必要。 class ThingContainer組件除了將道具前移到<Thing>外,其實就是connect生成的包裝組件所做的。所以,這是沒用的 - 文件應該只是做export default connect(mapState)(Thing),並且沒有額外的ThingContainer定義,它將工作完全一樣。

相關問題