react中的事件處理

2021-10-13 22:40:57 字數 1907 閱讀 8034

方式1:dom0級別的事件繫結

"btn"

>點我<

/button>

// dom0級別的事件繫結

let btn = document.

getelementbyid

("btn");

btn.

onclick

=function()

<

/script>

<

/body>

方式2:dom2級別的事件繫結

"btn"

>點我<

/button>

// dom0級別的事件繫結

let btn = document.

getelementbyid

("btn");

btn.

addeventlistener

("click",(

)=>

)<

/script>

<

/body>

方式3:html級別的事件繫結(方法後必須加括號)

"btn" onclick=

"fn()"

>

點我fn()

<

/button>

"btn" onclick=

"fn"

>點我fn<

/button>不加(

) 不ok

functionfn(

)<

/script>

<

/body>

處理this問題:

1)***可以變成箭頭函式,在不傳遞引數的情況下,可以這樣繫結:onclick=

2)在構建函式(constructor)中,可以使用bind,對this進行繫結,繫結:onclick= 不能傳參

3)直接在使用監聽時繫結 onclick=

class

mycom

extends

component

// bind返回乙個改變了this指向的新函式

this

._clickhandle =

this

._clickhandle.

bind

(this)}

render()

=this

.state

return

(今天天氣很

<

/h1>

>切換<

/button>

<

/div>)}

_clickhandle()

=this

.state

// 更新狀態機

this

.setstate()

}}

class

mycom

extends

component

}render()

=this

.state

return

(今天天氣很

<

/h1>

>切換<

/button>

"***" onclick=

>切換<

/a>

<

/div>)}

_clickhandle

(a,b,e)

=this

.state

// 更新狀態機

this

.setstate()

}}

react 事件處理

1.所有的事件以駝峰式命名如onclick 2.this作用域的問題,直接使用箭頭函式可以將該類的例項物件傳遞過去 若是呼叫的元件方法,需要使用this.handleclick this.handleclick.band this 這句話會建立乙個新的函式給handleclick,並把this當做引...

react事件處理

採用on 事件名的方式來繫結乙個事件,注意,這裡和原生的事件是有區別的,原生的事件全是小寫onclick,react裡的事件是駝峰onclick,react的事件並不是原生事件,而是合成事件。和普通瀏覽器一樣,事件handler會被自動傳入乙個event物件,這個物件和普通的瀏覽器event物件所包...

React元件中的事件處理函式

class reactevent extends component handleclick render click mebutton render中使用箭頭函式class reactevent extends component render click mebutton 使用class fie...