두개는 같은 코드이다.
{isOpen && <ModalBackdrop> <ModalView> <span className="closebtn">×</span> <div className="string">HELLO 블레싱!</div> </ModalView> </ModalBackdrop> }
{isOpen === true ? <ModalBackdrop> <ModalView> <span className="closebtn">×</span> <div className="string">HELLO 블레싱!</div> </ModalView> </ModalBackdrop> : null }
리액트에서 상태핸들링함수 만들때 유의사항
핸들링함수를 컴포넌트에 전달할때, 3가지 방식으로 전달된다.
1. onClick={openHandler}const openModalHandler = () => { setIsOpen(!isOpen); };
- onClick={ () => selectHandler(idx)}
const selectMenuHandler = (index) => { setCurrentTab(index) };
- onKeyup ={ (event) => addTags(event) }
const addTags = (event) => { let filtered = tags.filter((el)=> { return el === event.target.value; }) if(event.target.value !== "" && filtered.length === 0){ setTags([...tags,event.target.value]); } }
2번 방식의 경우 , 인자전달의 문제 때문.
3번 방식의 event는 event를 받아와서 함수를 실행해야 하기 때문?