Отправка карты на реквизит
Функция mapDispatchToProps()
используется для предоставления конкретным создателям действий вашим компонентам React, чтобы они могли отправлять действия против магазина Redux. Он похож по структуре на mapStateToProps()
вы написали в последнем вызове. Он возвращает объект, который сопоставляет действия отправки с именами свойств, которые становятся компонентами props
. Однако вместо возврата части state
каждое свойство возвращает функцию, которая вызывает dispatch
с создателем действия и любыми соответствующими действительными данными. У вас есть доступ к этой dispatch
потому что она передается в mapDispatchToProps()
в качестве параметра, когда вы определяете функцию, точно так же, как вы передали state
mapStateToProps()
. За кулисами React Redux использует store.dispatch()
Redux для store.dispatch()
этих рассылок с помощью mapDispatchToProps()
. Это похоже на то, как он использует store.subscribe()
для компонентов, которые отображаются в state
. Например, у вас есть создатель действия loginUser()
который принимает username
в качестве полезной нагрузки. Объект, возвращенный из mapDispatchToProps()
для этого создателя действия, будет выглядеть примерно так:
{
submitLoginUser: function (username) {
отправка (loginUser (имя пользователя));
}
}
Редактор кода предоставляет создателя действия, называемого addMessage()
. Напишите функцию mapDispatchToProps()
которая принимает dispatch
в качестве аргумента, а затем возвращает объект. Объект должен иметь свойство submitNewMessage
установленное для функции отправки, которое принимает параметр для добавления нового сообщения при отправке addMessage()
.