reactJs中props对象的元素为Boolean类型时的显示问题

来源:互联网 发布:mac可以玩单机仙剑吗 编辑:程序博客网 时间:2024/06/05 05:08

当调用组件时传入的参数为Boolean类型时,例如:closed={true},再在组件中打印<div>{this.props.closed}</div>是打印不出来true的,解决办法是打印<div>{this.props.closed2== true ? "true":"false"}</div>。

详细代码可参考如下:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8">
    <script src="http://static.runoob.com/assets/react/react-0.14.7/build/react.min.js"></script>
    <script src="http://static.runoob.com/assets/react/react-0.14.7/build/react-dom.min.js"></script>
    <script src="http://static.runoob.com/assets/react/browser.min.js"></script>
</head>
<body>
    <div id="example"></div>
    <script type="text/babel">
        var Component1 = React.createClass({
            getInitialState: function(){
                return {closed:true};
            },
            
            render: function() {
                var closed = this.state.closed == false ? "false" : "true";
                  return (
                      <div>
                        <h1>{this.props.title}</h1>
                        <Component2 closed1={closed} closed2={this.state.closed} />
                    </div>
                );
            }
        
        });
        var Component2  = React.createClass({
            render: function(){
                console.log(this.props);
                return (
                    <div>
                        <p>字符串:{this.props.closed1}</p>
                        <p>布尔类型:{this.props.closed2 == true ? "true":"false"}</p>
                    </div>
                );
            }
        });
          ReactDOM.render(<Component1 title="hello world!"/>,document.getElementById('example'));
    </script>
</body>
</html>


0 0
原创粉丝点击