뭐든 즐기면서 ;)

React Event 처리하기 / React 이벤트 처리하기 본문

FRONT/React

React Event 처리하기 / React 이벤트 처리하기

Tada.*+ 2021. 11. 7. 22:53
728x90

※ React에서 Event 처리하는 방법

  • React의 이벤트는 소문자 대신 캐멀 케이스(camelCase)를 사용합니다.
  • JSX를 사용하여 문자열이 아닌 함수로 이벤트 핸들러를 전달합니다.

- javascript와 React에서의 함수 이벤트 적용 방법 차이점.

 1. 함수 이벤트 적용 방법

아래는 javascript에서의 함수 이벤트 적용 방법입니다.

// javascript
<button onclick="activateLasers()">
  Activate Lasers
</button>

아래는 React에서의 함수 이벤트 적용 방법입니다.

// React
<button onClick={activateLasers}>
  Activate Lasers
</button>

 

 2. 이벤트를 막는 방법

* javascript에서는 return false;를 하면 이벤트를 막을 수 있지만, React에서는 적용되지 않습니다.

다른 방법으로 preventDefault;를 명시적으로 호출해야 합니다.

// javascript
<form onsubmit="console.log('You clicked submit.'); return false">
  <button type="submit">Submit</button>
</form>
// React
function Form() {
  function handleSubmit(e) {
    e.preventDefault();
    console.log('You clicked submit.');
  }

  return (
    <form onSubmit={handleSubmit}>
      <button type="submit">Submit</button>
    </form>
  );
}

※ JSX내에서 이벤트 처리 시 주의사항이 있습니다. 주의 사항은 아래 글에서 확인 가능합니다.

https://tadaiswhatever.tistory.com/20


※ 인자 전달하는 방법

// 첫번째 방법
<button onClick={(e) => this.deleteRow(id, e)}>Delete Row</button>
// 두번째 방법
<button onClick={this.deleteRow.bind(this, id)}>Delete Row</button>

 

이전 글 : 2021.11.06 - [UI/React] - React 생명주기 / React 클래스 컴포넌트 생명주기2 (Update & Unmount)

 

React 생명주기 / React 클래스 컴포넌트 생명주기2 (Update & Unmount)

※ Update : 컴포넌트가 업데이트될 때 실행되는 함수들. - 컴포넌트가 업데이트되는 경우 1. pops값 변경 2. state값 변경 3. 부모 컴포넌트가 리렌더링될 때 4. this.forceUpdate로 강제로 리렌더링 시킬

tadaiswhatever.tistory.com

다음 글 : 2021.11.08 - [UI/React] - React Event 처리 시 주의사항 / React 이벤트 처리 시 주의사항

 

React Event 처리 시 주의사항 / React 이벤트 처리 시 주의사항

※ 주의사항 * JSX 콜백 안에서 this를 사용할 경우에 주의해야 합니다. 1. Bind 사용 - bind를 해주기 전과 후의 차이점 아래 코드 중 'this.handleClick = this.handleClick.bind(this);'에 집중해 주세요. con..

tadaiswhatever.tistory.com

 

728x90
Comments