-
ref让react更容易获取dom,和id比较像。只要在dom上定义ref属性,就可以在组件实例的this.refs中获取到对应的dom元素。
字符串形式的refs
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>字符串形式的ref</title> </head> <body> <!-- 准备一个容器 --> <div id="test"></div> <!-- 引入react核心库 --> <script src="https://cdn.bootcdn.net/ajax/libs/react/18.2.0/umd/react.development.min.js"></script> <!-- 引入react-dom, 用于支持react操作dom, 需要在核心库之后引入 --> <script src="https://cdn.bootcdn.net/ajax/libs/react-dom/18.2.0/umd/react-dom.development.min.js"></script> <!-- 引入babel.js,用于将jsx转化为js --> <script src="https://cdn.bootcdn.net/ajax/libs/babel-standalone/7.18.7/babel.min.js"></script> <!-- 引入prop-types --> <script src="https://cdn.bootcdn.net/ajax/libs/prop-types/15.8.1/prop-types.min.js"></script> <script type="text/babel"> // 1.创建类组件 class Demo extends React.Component{ render() { return ( <div> <input ref="input1" type="text" placeholder="点击按钮提示数据" /> <button onClick={this.showData}>点我提示左侧的数据</button> <input ref="input2" onBlur={this.showData2 } type="text" placeholder="失去焦点提示数据" /> </div> ) } // 展示左侧输入框的数据 showData = () => { console.log(this); const { input1 } = this.refs; alert(input1.value) } // 展示右侧输入框内的数据 showData2 = () => { const { input2 } = this.refs; alert(input2.value) } } // 挂载 ReactDOM.render(<Demo />, document.getElementById('test')) </script> </body> </html>
-
标签:input2,dom,refs,react,组件,ref,三大 From: https://www.cnblogs.com/fqh123/p/16632629.html