基于 React Router 过滤映射对象 [英] filtering a mapped object based on React Router
问题描述
我正在尝试通过路由器 (v4) url 中的 :reviewId
过滤我的地图数组
如果我手动将其设置为 routeId 参数 {review.items.filter(item => item.id === 2)`
和 {this.props.match.params.reviewId}
也显示 routeId 参数,但将它们放在一起不会显示任何结果,也不会出现控制台错误.
路线
<路由精确路径="/reviews/:reviewId" component={Review}/>
json 数据
const 评论 = [{编号:'1',猫:'电影',项目: [{ id: 1, name: 'Review 1', text: 'bla bla review 1', img: 'http://epn.tv/wp-content/themes/elecplay-2014/images/hexrotr/hexrotr_reviews_two_on.png'},{ id: 2, name: 'Review 2', text: 'bla bla review 2' },{ id: 3, name: 'Review 3', text: 'bla bla review 3' },],},{编号:'2',猫:'音乐',项目: [{ id: 1, name: 'Review 1', text: 'bla bla review 1', img: 'http://epn.tv/wp-content/themes/elecplay-2014/images/hexrotr/hexrotr_reviews_two_on.png'},{ id: 2, name: 'Review 2', text: 'bla bla review 2' },{ id: 3, name: 'Review 3', text: 'bla bla review 3' },],},]导出默认评论
review.jsx
从'../Reviews/const'导入评论export default class Reviews extends React.Component {//eslint-disable-线路反应/首选无状态功能静态 propTypes = {匹配:React.PropTypes.node.isRequired,}使成为() {const revs = review.map(review =><div><div key={review.id}/>{review.items.filter(item => item.id === this.props.match.params.reviewId).map(item =><div className="单元格"><div key={item.id}><img src={item.img} alt={item.name}/><div>{item.text}</div>
,)}
,)返回 (<div>{this.props.match.params.reviewId}{转速}