Я получаю данные из моего Redux стука и подключив его к моему родительскому компонентуРеагировать Redux возвращение массивов объектов, массив их отображениями и пытаюсь передать функцию в качестве реквизита, но получает ошибку обещания
function mapStateToProps (state) {
return {
data: state.myarticles.data
}
}
export default connect(mapStateToProps, actions)(MyArticlesView)
В самом тот же компонент у меня есть этот
{this.props.data && this.props.data.results &&
this.props.data.results.map(this.renderArticles)}
, который выстреливает функцию, которая перечисляет все компоненты из этого массива
renderArticles (article, i) {
return (
<Article key={i} title={article.title} status={article.status} updated={article.updated_at} id={article.id} />
)
}
, но я также хочу, чтобы добавить к этой статье компонент а OnDelete реквизита с именем функции от моего родительского компонента, так что это будет выглядеть как этот
renderArticles (article, i) {
return (
<Article key={i} title={article.title} status={article.status} updated={article.updated_at} id={article.id} onDelete={this.handleDeleteClick} />
)
}
но он бросает меня ошибка
Uncaught (in promise) TypeError: Cannot read property 'handleDeleteClick' of undefined
Я знаю, что в этой функции карты this.handleDeleteClick не видно, но не имею ни малейшего представления о том, как передать его к этому ребенку COMPON Энты
благодарит
Try '() => this.handleDeleteClick() 'вместо' this.handleDeleteClick'. Похоже, вы теряете контекст в методе 'renderArticles'. –
или привязать функцию 'handleDeleteClick' в вашем конструкторе – BravoZulu
Да, я связал это в конструкторе и попытался с() => this.handleDeleteClick, но он выдает ту же ошибку, не уверен, как сохранить контекст в этой функции карты массива: / – user7354758