我在将物体作为道具传递时遇到麻烦。我有一个click事件,其中可以从函数参数创建对象:

addClass: function(c){
   var details =  [{
        course: c.name,
        credits: c.credits,
        time: c.time,
        days: c.days,
        enrolled: true
    }]

   this.setState({schedule: this.state.schedule.concat(details)})
},


我试图像这样在我的Schedule组件中映射数组:

var schedule = this.props.schedule.map(function(index, s){
        return (<li key={index}>{s.time}</li>)
    })

    return (
        <div className="schedule">
        <h4>Your Fall semester schedule</h4>
            <ul>
                {schedule}
            </ul>
        </div>
    )


由于某些原因,我无法在我的details组件中显示任何Schedule属性。这是一个演示:http://codepen.io/p-adams/pen/qNxZBV
基本上我想做的是每次按下Schedule按钮时在add组件中显示课程名称,时间和天数。

最佳答案

尝试反转.map函数的参数。

更改此:

this.props.schedule.map(function(index, s){


要这样:

this.props.schedule.map(function(s, index){

关于javascript - 将物体作为 Prop 传递时遇到麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38491320/

10-12 15:11