Здравствуйте.
Не могу понять что я делаю не так, есть контейнер App, который отвечает за связь с state и action c компонентами
class App extends Component {
componentDidMount() {
this.props.vkApiActions.getFriends('')
this.props.vkApiActions.getUser('')
}
render() {
const {vkApiProps} = this.props;
return (
<div className="App">
<FriendList
vkApiProps={vkApiProps}
friends={vkApiProps.friends.response.items}
setFriend={this.props.vkApiActions.setFriend}/>
<Scanner
friend={vkApiProps.user}/>
</div>
);
}
}
App.propTypes = {
appProps: PropTypes.object.isRequired,
vkApiProps: PropTypes.object.isRequired,
vkApiActions: PropTypes.object.isRequired
};
function mapDispatchToProps(dispatch) {
return {
vkApiActions: bindActionCreators(VkApi, dispatch)
};
}
export default connect(
(state)=> {
return {
vkApiProps: state.vkApi,
appProps: state.app
}
},
mapDispatchToProps
)(App)
В контейнере App функции из action нормально работают в props
например
componentDidMount() {
this.props.vkApiActions.getFriends('')
this.props.vkApiActions.getUser('')
но в компонентах получаю ошибку, что setFriend не является функцией
VM12897 FriendList.js:236Uncaught TypeError: _this2.props.setFriend is not a function