Существует несколько способов использования mapDispatchToProps или функции отправки
Во-первых: Без предоставления mapDispatchToProps
...
componentWillMount() {
dispatch(signoutUser())
}
...
export default connect(null)(Signout);
В приведенном выше случае, если выне предоставляйте mapDispatchToProps, реквизиты отправки передаются подключенному компоненту, который можно использовать для отправки действия.
Во-вторых: Предоставление mapDispatchToProps в качестве функции
...
componentWillMount() {
dispatch(signoutUser())
}
...
const mapDispatchToProps = (dispatch) => {
return {
signoutUser: () => dispatch(signoutUser)
}
}
export default connect(null, mapDispatchToProps)(Signout);
В вышеприведенном случае вы отправляете действие в mapDispatchToProps, которое передает возвращаемое значение в качестве реквизита компоненту
В-третьих: , предоставляя объект как mapDispatchToProps
...
componentWillMount() {
dispatch(signoutUser())
}
...
const mapDispatchToProps = {
return {
signoutUser
}
}
export default connect(null, mapDispatchToProps)(Signout);
Вышеприведенный случай - это укороченная версия второго случая, в котором функциональность диспетчеризации внутренне обрабатывается реагирующим-избыточным
Третий случай - это то, что вы используете косвенно, поскольку при импорте действий, таких как
import * as actions from '../../actions';
actions
в основном и объект, который передается как mapDispatchToProps