React渲染列表数据

JSX中使用{},{}里如果放入数组,React.js会把数组里的一个个元素罗列并渲染出来。

const lessons = [
    { title: 'Lesson 1: title', description: 'Lesson 1: description' },
    { title: 'Lesson 2: title', description: 'Lesson 2: description' },
    { title: 'Lesson 3: title', description: 'Lesson 3: description' },
    { title: 'Lesson 4: title', description: 'Lesson 4: description' }
    
  ]
  class Lesson extends Component {
    /* TODO */
    render(){
      console.log(this.props);
      //这里可以看成对象的解构赋值(类比:let { log, sin, cos } = Math;),this.props是一个大对象,里面含有各种属性及其对应值。详见下面截图:
      //所以如果不用解构赋值,这里也可以写成 const less=this.props.less
      const {less}=this.props
      return(
       <div onClick={() => console.log(`${this.props.index} - ${less.title}`)}>
        <h1>{less.title}</h1>
        <p>{less.description}</p>
        <hr />
       </div>
      )
    }
  }
  
  class LessonsList extends Component {
   render(){
     return(
      <div>
      //这里的key是在掩耳盗铃
      {lessons.map((less,i)=><Lesson key={i} index={i} less={less}/> )}
       </div>
     )
   }
  }
  ReactDOM.render(<LessonsList/>,document.getElementById('root'))

this.props截图:
在这里插入图片描述

解构赋值:https://es6.ruanyifeng.com/#docs/destructuring#%E5%AF%B9%E8%B1%A1%E7%9A%84%E8%A7%A3%E6%9E%84%E8%B5%8B%E5%80%BC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值