Я передаю функцию в качестве опоры дочернему компоненту, и мне нужно вызывать эту функцию, когда я нажимаю кнопку (в дочернем компоненте), но функция никогда не вызывается.
I 'мы пытались вызвать опору, содержащую функцию как функцию, например this.props.nameOfTheProp();
, но это не работает.
Отчий компонент
class Dashboard extends Component {
constructor(props) {
super(props);
this.triggerMatchesToAcceptUpdate = this.triggerMatchesToAcceptUpdate.bind(this);
}
triggerMatchesToAcceptUpdate() {
this.props.getMatchesToAccept();
}
render() {
return() {
<div>
<MatchesToAccept triggerUpdate={this.triggerMatchesToAccept}/>
</div>
}
}
}
Dashboard.propTypes = {
getMatchesToAccept: PropTypes.func.isRequired
}
export default connect(null, { getMatchesToAccept })(Dashboard);
Дочерний компонент
class MatchesToAccept extends Component {
acceptMatch() {
//This function gets call on click but no the one that comes from props
}
render() {
return() {
<button
onClick={() => { this.props.triggerUpdate(); this.acceptMatch() }}
>Accept</button>
}
}
}
export default connect(null, {})(MatchesToAccept);
Когда я нажимал кнопку в дочернем компонентевызывается только acceptMatch()
, но это должны быть две функции.