this.deleteRow(id, e)}"를 전달합니다. 2. "{this.deleteRow.bind(this, id)}"를 전달합니다."/> this.deleteRow(id, e)}"를 전달합니다. 2. "{this.deleteRow.bind(this, id)}"를 전달합니다.">

 >  기사  >  웹 프론트엔드  >  반응으로 이벤트 객체를 전달하는 방법

반응으로 이벤트 객체를 전달하는 방법

藏色散人
藏色散人원래의
2020-12-09 09:45:482665검색

반응에서 이벤트 객체를 전달하는 방법: 1. "{(e) => this.deleteRow(id, e)}"를 사용하여 전달합니다. 2. "{this.deleteRow.bind(this, id)}를 전달합니다. " " 메소드가 전달됩니다.

반응으로 이벤트 객체를 전달하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, React17.0.1 버전, Dell G3 컴퓨터.

권장: "Basic JavaScript Tutorial"

매개변수(이벤트 객체)를 이벤트 핸들러에 전달

추가 매개변수를 함수에 전달: 다음 두 가지 방법

<button onClick={(e) => this.deleteRow(id, e)}>Delete Row</button>
<button onClick={this.deleteRow.bind(this, id)}>Delete Row</button>

위의 두 가지 방법은 각각 동일합니다. 화살표 함수와 Function.prototype.bind를 통해.

위 두 예제에서는 React 이벤트 객체인 e 매개변수가 두 번째 매개변수로 전달됩니다. 화살표 함수를 통해 이벤트 개체를 명시적으로 전달해야 하지만 바인드를 통해 이벤트 개체와 더 많은 매개변수가 암시적으로 전달됩니다.

bind 메소드를 통해 청취 함수에 매개변수를 전달할 때, 클래스 구성요소에 정의된 청취 함수, 이벤트 객체 e는 전달된 매개변수 뒤에 순위가 지정되어야 한다는 점에 유의할 가치가 있습니다. 예:

class Popper extends React.Component{
    constructor(){
        super();
        this.state = {name:&#39;Hello world!&#39;};
    }
    
    preventPop(name, e){    //事件对象e要放在最后
        e.preventDefault();
        alert(name);
    }
    
    render(){
        return (
            <div>
                <p>hello</p>
                {/* Pass params via bind() method. */}
                <a href="https://reactjs.org" onClick={
                this.preventPop.bind(this,this.state.name)
                }>Click</a>
            </div>
        );
    }
}

더 많은 프로그래밍을 위해- 관련 지식이 있으신 분들은 :프로그래밍 배우기를 방문해주세요! !

위 내용은 반응으로 이벤트 객체를 전달하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.