<!DOCTYPE html>
<html>
<head>
<meat charset="UTF-8">
<title>4_createRef</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{
/*
React.createRef()调用后可以返回一个容器,该容器可以存储被ref所标识的节点,该容器是“专人专用的”就是后面会覆盖前面的
*/
myRef = React.createRef()
myRef2 = React.createRef()
//展示左侧输入框的数据
showData = ()=>{
alert(this.myRef.current.value)
}
//展示右侧输入框的数据
showData2 = () => {
alert(this.myRef2.current.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 a="1" b="2"/>,document.getElementById("test"));
</script>
</body>
</html>