私はマッピングしているオブジェクトの配列を持っていて、id(<AttachedComment />
)と一致する場合はコンポーネントを返します。この設定は、以下のコードではうまくいきますが、地図作成後の結果を最初の3項目に限定したいと思います。 pre-map slicingは、IDマッチングの前に配列の量を制限しているため、適切なアプローチではありません。ポストマップされた配列をスライスする良い方法はありますか?地図の後の結果を制限する
オリジナル配列マップ:
{ this.props.comments.map((comment, i) =>
<AttachedComment key={comment.recordCommentId} deleteCommentFunc={this.props.deleteCommentFunc} commentObj={comment} recordComponentId={this.props.recordId} userId={this.props.user} csrf={this.props.csrf}/>
)}
AttachedComment
:
const AttachedComment = props => {
if(props.commentObj.recordIdHash == props.recordComponentId){
return (
<Comment {...props.commentObj} deleteCommentFunc={props.deleteCommentFunc} key={props.commentObj.recordCommentId} currentUserId={props.userId} csrf={props.csrf}/>
)
} else {
return null;
}
}
感謝を使用している場合
AttachedComment
部品であれば条件は必要ありません。あなたは、あなたが 'AttachedComment'を使う必要がないという答えは、' filteredList'マップでそれを参照する理由があると言いますから? 'AttachedComment'によって返された' Comment'コンポーネントであってはなりませんか? – cphillあなたは 'AttachedComment'コンポーネント内に他のロジックがあると思います。そうでない場合、あなたはそれを必要としません。 'Comment'コンポーネントを直接使用することができます。 –