试图传递JSON对象REACTJS不起作用

时间:2016-01-20 20:44:50

标签: javascript json reactjs react-native

我开始介入ReactJS,我试图将一个JSON对象传递给我的标签,然后我可以在UI中显示它,但它一直说没有找到该元素。对此有何帮助?或者为什么props对象没有JSON对象?提前致谢

var CommentBox = React.createClass({
  render: function() {
    return (
        <div className="img-container">
            <img src="{this.props.placementImage}" />
        </div>
    );
  }
});

var MP = [
    {
        id: "MP1001",
        placementImage: "https://www.aexp-static.com/intl/uk/rwd/images/UKHP_CM_promo_3.png",
        dts: "forever",
        dte: "forever",
        status: "",
        isDefault: false
    }
];

ReactDOM.render(
        <CommentBox mp={MP}/>,
        document.getElementById('content')
);

2 个答案:

答案 0 :(得分:3)

一些事情:

  1. 您将数组作为mp道具传递,但之后尝试像对象一样访问它。

  2. 您需要从<img> src属性中删除引号:

  3. 您需要访问实际的mp道具

  4. 作为参考,我已经从您的代码中创建了一个修复这些问题的JSBin示例:http://jsbin.com/bohoqa/edit?html,js,output

    var CommentBox = React.createClass({
      render: function() {
        return (
            <div className="img-container">
                <img src={this.props.mp.placementImage} />
            </div>
        );
      }
    });
    
    var MP = [
        {
            id: "MP1001",
            placementImage: "https://www.aexp-static.com/intl/uk/rwd/images/UKHP_CM_promo_3.png",
            dts: "forever",
            dte: "forever",
            status: "",
            isDefault: false
        }
    ];
    
    ReactDOM.render(
            <CommentBox mp={MP[0]}/>,
            document.getElementById('content')
    );
    

答案 1 :(得分:0)

更改

<img src="{this.props.placementImage}" />

<img src={this.props.mp[index].placementImage} />

您必须将它们作为对象传递{}而不是&#34; {}&#34;

编辑:我没注意到它是一个数组