React Redux返回对象数组,数组映射它们并尝试将函数作为道具传递但得到promise错误

时间:2016-12-29 16:16:55

标签: reactjs asynchronous redux redux-thunk

我从我的redux thunk获取数据并将其连接到我的父组件

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

我知道在那个map函数中this.handleDeleteClick不可见但不知道如何将它传递给那个子组件

感谢

1 个答案:

答案 0 :(得分:0)

您需要将引用 React组件实例而非功能import {inject} from 'aurelia-framework'; export class Welcome { heading = 'Welcome'; inputList = [ { 'id': 1, 'text': 'example one', 'edit': false }, { 'id': 2, 'text': 'example two', 'edit': false }, ]; } 绑定到地图功能,如下所示:< / p>

this