道具正在返回未定义

时间:2017-06-16 04:19:17

标签: reactjs

我使用map循环遍历一个对象数组来填充列表。我的循环似乎正在起作用,因为我生成了正确数量的列表但是我无法通过道具访问数据。好像我的所有道具都是未定义的。

路径:$('#Carousel').on('slide.bs.carousel', function (e) { var id = e.relatedTarget.id; switch (id) { case "1": // img1 break; case "2": // img2 break; case "3": // img3 break; default: // none } })

Component

路径:function CareerPosition(props) { return ( <li> {props.uniqueId} {props.companyName} {props.positionTitle} </li> ) }

ReactPage

2 个答案:

答案 0 :(得分:1)

问题在于您在对象中设置键的方式:

ret = _context.Server.MapPath("/Uploads/Web");

您正在为所有密钥添加额外字“position”,删除它,否则您需要访问if (careerHistoryPositions) { const newData = careerHistoryPositions.map((position) => ({ 'position.uniqueId': position.uniqueId || '', 'position.company': position.company || '', 'position.title': position.title || '' })); this.setState({ data: newData }) } 内的值,如下所示:

map

删除位置并按如下方式编写:

position["position.company"] 

然后访问map中的值,如下所示:

if (careerHistoryPositions) {
    const newData = careerHistoryPositions.map((position) =>
    ({
        'uniqueId': position.uniqueId || '',
        'company': position.company || '',
        'title': position.title || ''
    }));
    this.setState({
        data: newData
    })
}

答案 1 :(得分:0)

问题是,在componentWillReceiveProps中,您使用键const careerPositions = this.state.data.map((position) => <CareerPosition key={position.uniqueId} companyName={position.company} positionTitle={position.title} uniqueId={position.uniqueId} /> ); etx设置状态,但您只能将其作为position.title

访问它们

试试这个

title