I am reading a react code as below:
const AppWithNavigationState = connect(state => ({
nav: state.nav,
}))(({dispatch, nav}) => (
<Root navigation={addNavigationHelpers({ dispatch, state: nav })}/>
));
I don't quite understand the above code. Especially this line <Root navigation={addNavigationHelpers({ dispatch, state: nav })}/>.
Is above code equal to below code?
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);