Способ mapDispatchToProps
в примере сокращен.Может быть проще сказать, что происходит, если бы оно было написано так:
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { fetchUser } from '../actions';
class User extends Component {
componentDidMount(){
this.props.fetchUser(this.props.userId);
}
render(){
const { user } = this.props;
if(!user) return null;
return(
<div className="header"> User Info: {user.name}</div>
);
}
}
const mapStateToProps = (state, ownProps) => {
return { user: state.users.find( user => user.id === ownProps.userId)};
};
const mapDispatchToProps = () => ({
fetchUser
});
export default connect(mapStateToProps, mapDispatchToProps)(User)
Может быть, это показывает это более четко, но функция диспетчеризации (fetchUser
) сопоставляется со свойствами компонентов.Точно так же, как значение состояния (пользователь) сопоставляется со свойствами компонента.Я думаю, вы просто запутались из-за сокращения, которое было использовано.