我正在讀起以下作用的代碼:試着去了解這個JavaScript源代碼
const AppWithNavigationState = connect(state => ({
nav: state.nav,
}))(({dispatch, nav}) => (
<Root navigation={addNavigationHelpers({ dispatch, state: nav })}/>
));
我不太明白上面的代碼。特別是這條線<Root navigation={addNavigationHelpers({ dispatch, state: nav })}/>
。
上面的代碼是否等於下面的代碼?
class AppWithNavigation extends Component{
render(){
return (<Root navigation={this.props.addNavigationHelpers.bind(this)}/>);
}
}
const mapStateToProps = (state) => {
return {
nav: state.nav,
}
}
const mapDispatchToProps = (dispatch) => {
return {
addNavigationHelpers: (nav)=>{
dispatch(addNavigationHelpers(nav))
}
}
}
const AppWithNavigationState = connect(mapStateToProps, mapDispatchToProps)(AppWithNavigation);
如果我使用短版本,我可以在AppWithNavigationState類上添加移動方法嗎? –