当调用组件时传入的参数为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>