国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

React 事件處理 ( this問題 參數(shù)傳遞 ref)

這篇具有很好參考價值的文章主要介紹了React 事件處理 ( this問題 參數(shù)傳遞 ref)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

React事件的命名采用小駝峰方式(cameCase),而不是小寫
使用JSX語法時你需要傳入一個函數(shù)作為事件處理函數(shù),而不是一個字符串
你不能通過返回false 的方式阻止默認行為。你必須顯示式的使用preventDefault

React 事件處理 ( this問題 參數(shù)傳遞 ref),React,react.js,javascript,前端

1 this

需要謹慎對待JSX回調函數(shù)中的this可以使用:
● 公共屬性(剪頭函數(shù))
● 匿名函數(shù)
● bind進行綁定
React 事件處理 ( this問題 參數(shù)傳遞 ref),React,react.js,javascript,前端

2 向事件處理程序傳遞參數(shù)

React 事件處理 ( this問題 參數(shù)傳遞 ref),React,react.js,javascript,前端

3 Ref

● Refs提供了一種方式,允許我們訪問DOM節(jié)點或在render方法中創(chuàng)建React元素
● 在React渲染生命周期時,表單元素上的value 將會覆蓋DOM節(jié)點中的值,在非受控組件中,你經常希望React賦予組件一個初始值,但是不去控制后續(xù)的更新,在這種情況下,你可以指定一個defaultValue屬性,而不是value

3.1 為DOM元素添加ref

可以使用ref去 存儲DOM節(jié)點的引用 當ref屬性用于HTML元素時,構造函數(shù)中使用React.createRef()創(chuàng)建的ref接收底層DOM元素作為其current屬性

import React from './react';
import ReactDOM from './react-dom';
class Sum extends React.Component{
  numberA
  numberB
  result
  constructor(props){
    super(props);
    this.numberA = React.createRef();//{current:null}
    this.numberB = React.createRef();
    this.result = React.createRef();
  }
  handleClick = (event)=>{
    let numberA = this.numberA.current.value;
    let numberB = this.numberB.current.value;
    this.result.current.value = parseFloat(numberA)+parseFloat(numberB);
  }
  render(){
    return (
      <>
        <input ref={this.numberA}/>
        <input ref={this.numberB}/>
        <button onClick={this.handleClick}>+</button>
        <input ref={this.result}/>
      </>
    )
  }
}
ReactDOM.render(<Sum/>,document.getElementById('root'));

3.2 為class 組件添加ref

import React from './react';
import ReactDOM from './react-dom';
class TextInput extends React.Component{
  constructor(props){
    super(props);
    this.inputRef = React.createRef();
  }
  getTextInputFocus = ()=>{
    this.inputRef.current.focus();
  }
  render(){
    return <input ref={this.inputRef}/>
  }
}
class Form extends React.Component{
  constructor(props){
    super(props);
    this.textInputRef = React.createRef();
  }
  getFormFocus = ()=>{
    //this.textInputRef.current就會指向TextInput類組件的實例
    this.textInputRef.current.getTextInputFocus();
  }
  render(){
    return (
      <>
        <TextInput ref={this.textInputRef}/>
        <button onClick={this.getFormFocus}>獲得焦點</button>
      </>
    )
  }
}

ReactDOM.render(<Form/>,document.getElementById('root'));

3.3 ref轉發(fā)

● 不能在函數(shù)組件上使用ref 屬性,因為他們沒有實例
● ref轉發(fā)是一項將ref自動的通過組件傳遞到其一子組件的技巧
● ref轉發(fā)允許某些組件接收ref,并將其向下傳遞,(轉發(fā)它給其他組件)文章來源地址http://www.zghlxwxcb.cn/news/detail-835972.html

import React from './react';
import ReactDOM from './react-dom';
function TextInput(props,ref){
  return <input ref={ref}/>
}
const ForwardedTextInput = React.forwardRef(TextInput);
class Form extends React.Component{
  constructor(props){
    super(props);
    this.textInputRef = React.createRef();
  }
  getFormFocus = ()=>{
    //this.textInputRef.current就會指向TextInput類組件的實例
    this.textInputRef.current.focus();
  }
  render(){
    return (
      <>
        <ForwardedTextInput ref={this.textInputRef}/>
        <button onClick={this.getFormFocus}>獲得焦點</button>
      </>
    )
  }
}

ReactDOM.render(<Form/>,document.getElementById('root'));
/**
Warning: 
Function components cannot be given refs. 
Attempts to access this ref will fail.
 Did you mean to use React.forwardRef()?
不能給函數(shù)組件添加ref
 * 
 * 
 */

到了這里,關于React 事件處理 ( this問題 參數(shù)傳遞 ref)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • React 18 使用 Context 深層傳遞參數(shù)

    React 18 使用 Context 深層傳遞參數(shù)

    參考文章 通常來說,會通過 props 將信息從父組件傳遞到子組件。但是,如果必須通過許多中間組件向下傳遞 props,或是在應用中的許多組件需要相同的信息,傳遞 props 會變的十分冗長和不便。 Context 允許父組件向其下層無論多深的任何組件提供信息,而無需通過 props 顯式傳

    2024年02月09日
    瀏覽(26)
  • React中路由的參數(shù)傳遞 - 路由的配置文件

    路由的參數(shù)傳遞 傳遞參數(shù)有二種方式( 需要注意的是, 這兩種方式在Router6.x中都是提供的hook函數(shù)的API, 類組件需要通過高階組件的方式使用 ) : 動態(tài)路由的方式; search傳遞參數(shù)( 查詢字符串 ); 方式一: 動態(tài)路由的概念指的是路由中的路徑并不會固定 : 比如/detail的path對應一個組件

    2023年04月08日
    瀏覽(16)
  • React-Router 5.0 制作導航欄+頁面參數(shù)傳遞

    React-Router 5.0 制作導航欄+頁面參數(shù)傳遞

    使用 React 構建 SPA 應用(單頁面應用),要想實現(xiàn)頁面間的跳轉,首先想到的就是使用路由。在 React 中,常用的有兩個包可以實現(xiàn)這個需求,那就是 react-router 和 react-router-dom 。本文主要針對 react-router-dom 進行說明。 眾所周知, JS 由 DOM BOM ECMAScript 組成, React-Router-Dom 使用 BOM 提供

    2024年02月08日
    瀏覽(17)
  • 【前端知識】React 基礎鞏固(四十一)——手動路由跳轉、參數(shù)傳遞及路由配置

    【前端知識】React 基礎鞏固(四十一)——手動路由跳轉、參數(shù)傳遞及路由配置

    利用 useNavigate 封裝一個 withRouter(hoc/with_router.js) 添加到hoc/index.js文件中 利用withRouter,攔截Home組件,實現(xiàn)手動跳轉路由 路由參數(shù)傳遞包括:1.動態(tài)路由傳參;2.查詢字符串傳參 改造withRouter,通過 useParams() 和 useSearchParams() 來接收兩種參數(shù)傳遞: 在界面中,通過params來接收

    2024年02月14日
    瀏覽(25)
  • react之事件處理

    react之事件處理

    這里的事件,指的是 React 內部封裝 DOM 組件中的事件 ,如 onClick , onFocus 等,而非我們自己通過 props 傳遞的屬性,并在子組件中手動觸發(fā)的事件 實例 react事件聲明 react事件采用 駝峰式 命名 react事件接收一個 函數(shù)聲明 , 不是函數(shù)調用的形式 綁定事件 采用 on+事件名的方式

    2024年02月05日
    瀏覽(12)
  • React 中事件處理

    不要問自己需要什么樣的人生,而要問自己想要成為什么樣的人。 我們從前面的學習知道一個 React 組件不僅僅只包含 DOM 結構的,還應該樣式和 Javascript 邏輯的。這里我們認識邏輯構造之事件處理。 這里列舉了在 React 中事件的幾種綁定處理方式: 這里重點說明下在事件和事

    2024年02月05日
    瀏覽(20)
  • React學習筆記09- 事件處理

    React采用on+事件名的方式來綁定一個事件,注意,這里和原生的事件是有區(qū)別的,原生的事件全是小寫 onclick , React里的事件是駝峰 onClick ,React的事件并不是原生事件,而是合成事件。 ? 事件回調的幾種寫法 這種寫法需要用bind處理回調函數(shù)不然獲取不到this 這種寫法不需要用

    2024年02月08日
    瀏覽(16)
  • React【React是什么?、創(chuàng)建項目 、React組件化、 JSX語法、條件渲染、列表渲染、事件處理】(一)

    React【React是什么?、創(chuàng)建項目 、React組件化、 JSX語法、條件渲染、列表渲染、事件處理】(一)

    ? ? ? ?React是什么? 為什么要學習React? React開發(fā)前準備? 創(chuàng)建React項目?

    2024年02月11日
    瀏覽(23)
  • 快速上手React:從概述到組件與事件處理

    快速上手React:從概述到組件與事件處理

    「作者主頁」 :雪碧有白泡泡 「個人網站」 :雪碧的個人網站 「推薦專欄」 : ★ java一站式服務 ★ ★ React從入門到精通 ★ ★ 前端炫酷代碼分享 ★ ★ 從0到英雄,vue成神之路★ ★ uniapp-從構建到提升 ★ ★ 從0到英雄,vue成神之路 ★ ★ 解決算法,一個專欄就夠了 ★ ★

    2024年02月13日
    瀏覽(23)
  • Vue 子組件觸發(fā)父組件事件,傳遞多個參數(shù)以及異常情況處理

    Vue 子組件觸發(fā)父組件事件,傳遞多個參數(shù)以及異常情況處理

    今天這篇文章記錄一下子組件調用父組件事件, 傳參的邏輯 。 以及一些特殊的情況。 1.1 父組件 1.2 子組件 1.3 效果截圖 上述的示例其實就是一個最基礎的,子組件觸發(fā)父組件事件的代碼。 2.1 注意事項一: 子組件 $emit 的事件名和父組件接收的事件名必須相同。 事件名稱不

    2024年02月03日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包