<!DOCTYPE html>
<html>
<head>
<meat charset="UTF-8">
<title>事件处理</title>
</head>
<body>
<!-- 准备好一个容器 -->
<div id="test"></div>
<!-- 核心库 -->
<script type="text/javascript" src="../js/react.development.js"></script>
<!-- react-dom,操作dom -->
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<!-- 引入babel,jsx转为js -->
<script type="text/javascript" src="../js/babel.min.js"></script>
<!-- 此处一定要写babel -->
<script type="text/babel">
//1.创建组件
class Demo extends React.Component{
/*
(1).onXxx函数(注意大小写如onClick())
a.js onclick jsx onClick-----------为了更好的兼容性
b.委托给组件外层,比如ul li ,委托给ul----------为了高效
(2). event.target得到发生事件的DOM元素对象-------------不要过度使用ref
*/
/*
创建ref容器
*/
myRef = React.createRef()
myRef2 = React.createRef()
//展示左侧输入框的数据
showData = ()=>{
alert(this.myRef.current.value)
}
//展示右侧输入框的数据
showData2 = (event) => {
alert(event.target.value)
}
render(){
return(
<div>
<input ref={this.myRef} type="text" pacleholder="点击按钮提示数据"/>
<button onClick={this.showData}>点我提示左侧的数据</button>
<input onBlur={this.showData2} ref={this.myRef2} type="text" pacleholder="失去焦点提示数据" />
</div>
)
}
}
//2.渲染组件到页面
ReactDOM.render(<Demo/>, document.getElementById("test"));
</script>
</body>
</html>