react当中refs
Refs 提供了一种方式,允许我们访问 DOM 节点 或 在 render 方法中创建的 React 元素(组件)。
Refs主要提供了三种方式:
import React, { Component } from 'react'
import { Input } from 'antd';
import Refs1 from "./refsComponents/refs1"
//方式1:字符串字面量 (即将弃用,不推荐, 潜在bug问题)
// class Refs extends Component {
// componentDidMount(){
// console.log(this.refs.zujian,this.refs.dom,this.refs.ant,"方式1");
// }
// render() {
// return (
// <div style={{background:"#ccc",padding:"10px"}}>
// <h4>react 当中refs三种使用方式。</h4>
// <Refs1 ref="zujian"/>
// <input type="text" placeholder="请输入" ref="dom"/>
// <Input placeholder="antDesign input" ref="ant"/>
// </div>
// )
// }
// }
//-------------------------------------------------------------------------------------------------
//方式2:函数参数赋值(一般给组件实力本身)
// class Refs extends Component {
// componentDidMount(){
// console.log(this.zujian,this.dom,this.ant,"方式2");
// }
// render() {
// return (
// <div style={{background:"#ccc",padding:"10px"}}>
// <h4>react 当中refs三种使用方式。</h4>
// <Refs1 ref={zujian=>this.zujian = zujian}/>
// <input type="text" placeholder="请输入" ref={dom=>this.dom = dom}/>
// <Input placeholder="antDesign input" ref={ant=>this.ant = ant}/>
// </div>
// )
// }
// }
//-------------------------------------------------------------------------------------------------
//方式3:新API(createRef),官方推荐使用。
class Refs extends Component {
zujian = React.createRef()
dom = React.createRef()
ant = React.createRef()
componentDidMount(){
console.log(this.zujian.current,"方式3");
console.log(this.dom.current,"方式3");
console.log(this.ant.current,"方式3");
}
render() {
return (
<div style={{background:"#ccc",padding:"10px"}}>
<h4>react 当中refs三种使用方式。</h4>
<Refs1 ref={this.zujian}/>
<input type="text" placeholder="请输入" ref={this.dom}/>
<Input placeholder="antDesign input" ref={this.ant}/>
</div>
)
}
}
export default Refs;
react - 函数组件中使用refs
import React from "react" import { Input } from 'antd'; import Refs1 from "./refsComponents/refs1" function HooksRefs(){ const zujian = React.useRef(); const dom = React.useRef(); const ant = React.useRef(); return ( <div style={{background:"#A6FFFF",padding:"10px"}}> <h4>react-Hooks 当中refs使用方式。</h4> <Refs1 ref={zujian}/> <input type="text" placeholder="请输入" ref={dom}/> <Input placeholder="antDesign input" ref={ant}/> </div> ) } export default HooksRefs;

浙公网安备 33010602011771号