function mapDispatchToProps(dispatch){
//if selectBook is called,result should go to all reducers, dispatch makes sure it goes to all reducers
// the purpose of this bind is to make sure the action that is returned will flow through the reducers. otherwise it wont
// affect anything. {select:selectBook} will add the action to the props
  return bindActionCreators({selectBook:selectBook},dispatch);
}
//anything retruned from this, will end up as props on BookList container
anything retruned from this, will end up as props on BookList container
anything retruned from this will end up as props on BookList container
function mapDispatchToProps(dispatch){
  return bindActionCreators({selectBook:selectBook},dispatch);
}
function mapDispatchToProps ( dispatch ) { return bindActionCreators ( { selectBook : selectBook } , dispatch ) ; }
anything retruned from this, will end up as props on BookList container
anything retruned from this will end up as props on BookList container
//if selectBook is called,result should go to all reducers, dispatch makes sure it goes to all reducers // the purpose of this bind is to make sure the action that is returned will flow through the reducers. otherwise it wont // affect anything. {select:selectBook} will add the action to the props