如何将额外的道具传递给arry.map

时间:2016-12-08 18:57:11

标签: javascript reactjs meteor

我一直试图将额外的道具自己传递给使用.map函数创建的子项,但我无法成功传递它们。

这是我的代码:

export const CommentsListShanghai = (props) => {
  const newTimestamp = props.timestamp;
  console.log(newTimestamp);
  const comments = props.comments;
  if (comments.length > 0 ) {
   return (
    <ButtonToolbar className="comment-list">
    {comments.map((com) => {
      return ( 
        com.adminSpark ? 
          <CommentsModal 
            className="comments-modal"
            data-comments-modal={props.newTimestamp}
            key={ com._id } 
            comment={ com } 
            city={com.city} 
            person={com.person} 
            location={com.location} 
            title={com.title} 
            content={com.content} 
            fileLink={com.fileLink} 
            timestamp={com.timestamp} 
            createdBy={com.createdBy}
            /> :
          <CommentsModal 
            key={ com._id } 
            comment={ com } 
            city={com.city} 
            person={com.person} 
            location={com.location} 
            title={com.title} 
            content={com.content} 
            fileLink={com.fileLink} 
            timestamp={com.timestamp} 
            createdBy={com.createdBy} />
        )
    })}
    </ButtonToolbar> 
   );
  } else {
    return (
      <Alert bsStyle="warning">No sparks yet. Please add some!</Alert>
    );
  }
};

CommentsListShanghai.propTypes = {
  comments: React.PropTypes.array,
};

我能够传递我创建的注释const的所有道具,问题是除了这些道具之外我还需要传递一个额外的道具,这可以在CommentsListShanghai中找到。我怎么能把额外的道具传递给这个阵列?

我能够在没有问题的情况下使用console.log(newTimestamp),但是我不知道如何将其传递给.map函数。

1 个答案:

答案 0 :(得分:1)

而不是

data-comments-modal={props.newTimestamp}

只需使用

data-comments-modal={props.timestamp}

props这里仍然指的是CommentsListShanghai的背景。