React 学习日记--组件三大属性ref

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>07_component_refs</title>
</head>
<body>
<br>
  <div id="example"></div>

  <script type="text/javascript" src="../js/react.development.js"></script>
  <script type="text/javascript" src="../js/react-dom.development.js"></script>
  <script type="text/javascript" src="../js/babel.min.js"></script>

  <script type="text/babel">
    /*
    需求: 自定义组件, 功能说明如下:
      1. 界面如果页面所示
      2. 点击按钮, 提示第一个输入框中的值
      3. 当第2个输入框失去焦点时, 提示这个输入框中的值
   */
  class Mycomponent extends React.Component{
	  constructor(props){
		  super(props)
		  this.show=this.show.bind(this)
		  this.tshow=this.tshow.bind(this)
	  }
	  show(){
		  const input=this.refs.content
		  //alert(input.value)  第一种方法  官方不推荐
		  alert(this.input.value)
	  }
	  tshow(event){
		  console.log(event.target)  //节点
		  alert(event.target.value)
	  }
	  render(){
		  return (
		  <div>
		  
		  <input type="text" ref="content"/>&nbsp;&nbsp;
		  <input type="text" ref={input=>this.input=input}/>&nbsp;&nbsp;
		  
		  <button onClick={this.show}>提示</button>&nbsp;&nbsp;
		  <input type="text" onBlur={this.tshow}/>&nbsp;&nbsp;
		  </div>
		  )
	  }
  }
  ReactDOM.render(<Mycomponent/>,document.getElementById('example'))
  </script>
</body>
</html>

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...