类别:react / 日期:2022-10-12 / 浏览:218 / 评论:0

Refs 是 React 提供给我们的安全访问 DOM 元素或者某个组件实例的句柄。我们可以为元素添加ref属性然后在回调函数中接受该元素在 DOM 树中的句柄,该值会作为回调函数的第一个参数返回:

class CustomForm extends Component {
 handleSubmit = () => {
   console.log("Input Value: ", this.input.value)
 }
 render () {
   return (
     <form onSubmit={this.handleSubmit}>
       <input
         type='text'
         ref={(input) => this.input = input} />
       <button type='submit'>Submit</button>
     </form>
   )
 }
}

上述代码中的input域包含了一个ref属性,该属性声明的回调函数会接收input对应的 DOM 元素,我们将其绑定到this指针以便在其他的类函数中使用。另外值得一提的是,refs 并不是类组件的专属,函数式组件同样能够利用闭包暂存其值:

function CustomForm ({handleSubmit}) {
 let inputElement
 return (
   <form onSubmit={() => handleSubmit(inputElement.value)}>
     <input
       type='text'
       ref={(input) => inputElement = input} />
     <button type='submit'>Submit</button>
   </form>
 )
}


版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。

«    2023年11月    »
12345
6789101112
13141516171819
20212223242526
27282930

最新留言