리액트를 사용 하는 이유 중 하나는 데이터 바인딩이 편하다는 점이다.
let divStyle = { color: 'blue', fontSize: '30px' }
return <div style={ divStyle }></div>
리액트에서 데이터를 보관하는 옵션은 2가지가 있다.
1. 일반 변수에 저장
2. State 에 저장
state는
1. 변수대신 쓰는 데이터 저장 공간
2. useState()
를 이용해 만들어야 한다
3. 문자, 숫자 , array, object 다 저장이 가능하다
그러면 그냥 변수 쓰면 되지 왜 굳이 state를 만들지?
[state쓰는 이유]
⭐️ React를 웹앱처럼 동작하게 하려고!
자주 바뀌는 중요한 데이터는 변수말고 state로 저장해서 쓸 것
근데 안바뀌는 데이터는 state쓰면 안된다! 변경되는 데이터만 state에 넣을 것!!
const [like, setLike] = useState(false);
const handleLikeClick = () => {
setLike(!like);
updateLikeHit();
};
return(
<div className="feed-image-wrapper" onDoubleClick={handleLikeClick}>
<i className={`${likeInfo.class} ${likeInfo.animate}`} />
<img src={feedImg} alt="피드이미지" />
</div>
)
state쓸 때의 주의점
1. 원본 state는 직접 수정이 되지 않는다. (setLike(<바꿀내용>
) 으로 변경해야한다)
=> state 직접 변경시 재 렌더링이 되지 않는다.
2. 변경함수 안에 들어가는 data type은 같은 자료형으로 맞추어 집어넣어줘야 한다.