본문 바로가기

카테고리 없음

리액트 Event

반응형
SMALL
condition ? true : false
참이면 첫번째를 반환 거짓이면 두번째를 반환​
<button onClick={activate}>
	Activate
</button>

리액트 Event 표기법

 

매개변수(파라미터)

어떤식으로 매게변수를 이벤트 핸들러에 전달하는지 분석해보자 

<button onClick = {(event) =>this.deleteItem(id, event)}>삭제하기</button>
<button onClick = {this.deleteItem.bind(this,id)}>삭제하기</button>

// 모두 동일한 역할을 하지만 하나는 arrow function, 하나는 bind를 사용함
// 리액트에서 이벤트라는 매게변수는 리액트에 이벤트 객체를 말함
// 첫번째 매게변수는 id, 두번째는 event전달
// 첫번째 함수는 event를 두번째 매게변수에 넣어준 반면, 
// 두번째는 이벤트가 자동으로 id이후에 두번째 매게 변수로 전달됨

Inline condition(조건문을 코드안에 집어 넣는 것)

 

Inline if 

if문을 직접 넣진 않고 && 연산자(양쪽 조건이 모두 true일때 됌)를 활용한다 

true && expression -> 첫번째 true를 먼저 평가하고 맞으면 두번째 조건문 expression를 평가 
false && experssion -> 첫번째가 false면 false(두번째 평가 x)
이들을 단축 평가라고 한다.

 

Inline If-Else 

if else를 필요한 구문에 직접 넣어서 사용한다(조건문에 값에 따라서 다른 엘리먼트를 보여줄 때 사용하고 삼항연산자를 사용한다.)

 

Component 렌더링 막기

null을 리턴하면 렌더링 되지 않음!

function WarningBanner(props){
	if(!props.warning){
    	return null;
   	}
    
    return (
    	<div>경고!</div>
    );
}

// props.warning의 값이 false일 때 null을 내뱉고 true이면 div를 뱉음

클래스 컴포넌트  render 함수에서 null을 리턴하는 것은 컴포넌트 생명주기 함수에  전혀 영향을 미치지 않음

예시로 componentDidupdate함수는 여전히 호출이 된다.

반응형
LIST