react - state and props

1.  组件内部的传参 props

eg: 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>菜鸟教程 React 实例</title>
<script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script>
<script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script>
<script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/babel">
var HelloMessage = React.createClass({
getDefaultProps: function() {
return {
name: 'Runoob'
};
},
render: function() {
return <h1>Hello {this.props.name}</h1>;
}
});

ReactDOM.render(
<HelloMessage />,
document.getElementById('example')
);
</script>
</body>
</html>

 

2. 父组件  往  子组件  传参  props and state

eg:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>菜鸟教程 React 实例</title>
<script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script>
<script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script>
<script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/babel">
var WebSite = React.createClass({
getInitialState: function() {
return {
name: "菜鸟教程",
site: "http://www.runoob.com"
};
},

render: function() {
return (
<div>
<Name name={this.state.name} />
<Link site={this.state.site} />
</div>
);
}
});

var Name = React.createClass({
render: function() {
return (
<h1>{this.props.name}</h1>
);
}
});

var Link = React.createClass({
render: function() {
return (
<a href={this.props.site}>
{this.props.site}
</a>
);
}
});

ReactDOM.render(
<WebSite />,
document.getElementById('example')
);
</script>
</body>
</html>

 

3. 组件内部传参 state 参数可以改变

eg:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>React setState</title>
<script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script>
<script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script>
<script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/babel">
var ClickMe = React.createClass({
getInitialState: function(){
return {count: 0};
},
handClick: function(){
this.setState(function(state){
return {count: state.count + 1};
});
},
render: function(){
return (<p onClick = {this.handClick}> come on! click me! the count of click is {this.state.count} </p>);
}
});

ReactDOM.render(
<ClickMe />,
document.getElementById("example")
);
</script>
</body>
</html>

posted @ 2018-01-31 13:10  爱美的女孩儿  阅读(145)  评论(0编辑  收藏  举报