У меня есть создатель действия, которому для обновления магазина нужно передать некоторые данные:
создатель действия:
export const addPokemonToTeam = pokemon => {
return {
type: actionTypes.ADD_POKEMON_TO_TEAM,
pokemon: pokemon
}
}
фрагмент редуктора:
case actionTypes.ADD_POKEMON_TO_TEAM :
return {
...state,
myTeam: state.myTeam.concat([action.pokemon])
}
Но когда я использую этот код в диспетчере карт для реквизита:
const mapDispatchToProps = dispatch => {
return{
onAddPokemonToTeamHandler: pokemon =>
dispatch(myTeamActions.addPokemonToTeam(pokemon))
}
}
, а затем передаю его в качестве функции onClick компоненту:
<TeamToggle
displayStyle="add"
onClick={() => this.props.onAddPokemonToTeamHandler(this.state.pokemon)}
>
Add to my team
</TeamToggle>
Передача реквизита таким образом, как анонимная функция, делает код вообще не выполняется, и я не понимаю, почему. Если я передаю его без анонимной функции, он, конечно, выполняется, как только компонент отображается. Любые идеи о том, как вызвать создателя действия только на клик?