<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
class Father extends React.Component {
add = () => {
this.setState({
num: this.state.num + 1
})
}
state = {
num: 0
}
render() {
return (
<div>
<Child1 count = {this.state.num}/>
<Child2 onIncrement = {this.add}/>
</div>
)
}
}
class Child1 extends React.Component {
render() {
return (
<p>计数器:{this.props.count}</p>
)
}
}
class Child2 extends React.Component {
handleClick = () => {
this.props.onIncrement()
}
render() {
return (
<button onClick={this.handleClick}>+1</button>
)
}
}
ReactDOM.render(<Father />, document.getElementById('root'))
</script>
</body>
</html>
1.在父组件中定义状态和操作状态方法
2.在子组件调用部分通过属性绑定得方式进行分别将状态和方法传入到传值和接收值得子组件中
3.在传值组件中得点击事件等程序中触发操作状态得方法(通过this.props.属性名())
4.在接收值得组件中通过this.props.属性名接收传递过来得值