inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

웹 게임을 만들며 배우는 React

state와 화면의 일치(synchronize) 질문

해결된 질문

219

동배

작성한 질문수 16

0

강좌 1-3, 7:40초 쯤에서 기존 웹을 하시는분(react같은 프레임웤,라이브러리 사용x)분에게는 이게 놀라운 것이라 하셔서 질문드립니다.

react를 사용하지 않고 js만 사용했을때

const btn = document.createElement("button");
      btn.textContent = "click";
      let clicked = true;
      btn.addEventListener("click", () => {
        clicked = !clicked;
        btn.textContent = clicked ? "click" : "clicked";
     });

이것도 clicked라는 변수에 상태를 두고 클릭될때 마다 자동으로 변화시키는 것이 아닌가요?

단지 textContent로 직접 접근을 해서 그런건가요?

별로 차이가 없는것 같아서 너무 헷갈리내요

react

답변 1

0

제로초(조현영)

이는 데이터를 textContent를 통해 화면을 직접 바꿔준 것입니다. 만약 저런 것들이 많아진다면 어떻게 될지 생각해보세요. 아마 수도 없이 이벤트리스너들이 많이 달릴 것입니다. 그럴 때 실수로 하나라도 데이터에 따라 화면을 바꿔주는 것을 빼먹는다면 바로 버그가 됩니다. React는 HTML처럼 JSX를 통해서 변수(상태, state) 자리만 정해주면 state를 바꾸면 알아서 화면이 바뀝니다.

npm run dev 실행 시 포트가 안뜨는 문제

0

204

2

timeouts.current를 useEffect 의 input값으로 넣었을때

0

87

2

렌더링 테스트 코드 (Hooks)

0

80

1

Cannot find package 'react-refesh' 이런 에러 뜨시는 분들 보세요.

0

149

1

해당 에러 뜨는 분들 보세요. "Uncaught TypeError: ReactDom.createRoot is not a function"

1

191

1

강사님 레포지토리에서 코드 복사 시 master 브랜치 말고 react18 브랜치꺼 복붙하세요ㅠㅠ

0

95

1

useMemo와 useCallback 사용 시기

0

207

2

onRightClickTd가 작동을 하지 않습니다.

0

226

1

action.type 불러오는 방식

0

222

2

onClickRedo 질문

0

172

1

const Try = require(./Try) 빨간줄

0

248

1

npx webpack 실행시

0

313

1

지뢰찾기 강좌에서 빈칸들 한번에 열기 파트에서 여쭤보고싶은부분이 있어서 글 올립니다.

0

235

1

강좌에서 다루지 않은 기능들은 어떻게 학습하면 좋을까요?

0

311

1

react devtool이 enable 않됩니다.

0

531

2

React 랜더링이 되지 않습니다.

0

412

2

비동기로 동작하는 setState에 대해서

0

331

1

npm run dev 할 때 에러발생

0

480

2

memo, PureComponenet, shouldComponentUpdate 관련 질문

0

206

1

devMiddleware의 필요성

0

352

1

리액트에서 화살표 함수를 사용해야하는 이유

0

935

2

path.join관련질문

0

282

2

2-9. 웹팩 데브 서버와 핫 리로딩 설치과정 시 에러

0

374

1

next.js 에서 이와 비슷한 예제를 돌리고있는데 react랑 달라서 질문 드립니

1

491

4