inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

웹 게임을 만들며 배우는 React

8-7. 승리 조건 체크와 타이머

state.halted와 그냥 halted의 차이점이 궁금합니다

해결된 질문

431

i1004gy

작성한 질문수 36

0

    if (
        state.data.row * state.data.cell - state.data.mine ===
        state.opendCount + openedCount
      ) {
        halted = true;
        result = "승리하셨습니다";
      }
      return {
        ...state,
        tableData,
        opendCount: state.opendCount + openedCount,
        halted,
        result,
      };

위 코드는 제로초님이 작성하신 코드입니다

여기서 halted와 result에 값을 갱신할때 state.halted 이렇게 한 것이 아니고 그냥 halted=true이렇게 갱신을 하셨습니다

    if (
        state.data.row * state.data.cell - state.data.mine ===
        state.opendCount + openedCount
      ) {
        state.halted = true;
        state.result = "승리하셨습니다";
      }
      return {
        ...state,
        tableData,
        opendCount: state.opendCount + openedCount,
        halted: state.halted,
        result: state.result,
      };

왜 state를 안 붙이고 그냥 할 수 있을까 해서 state를 붙여서 해봤더니 return 구문에서 halted: state.halted 이거 처럼 따로 갱신하는 구문이 필요했습니다 state를 붙일 때와 안붙일때 어떤 차이가 있나요?

react

답변 2

0

i1004gy

아 state는 위에 inital state에 정의된 값 불러오는 거고

halted 하고 result은 위에 let으로 정의가 되었네요 잠시 착각했습니다 감사합니다

0

제로초(조현영)

return { ...state, tableData, opendCount: state.opendCount + openedCount, };

이렇기만 해도 되긴 할텐데요. 근데 리액트에서는 state를 수정하는 게 아닙니다.

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

0

211

2

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

0

89

2

렌더링 테스트 코드 (Hooks)

0

80

1

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

0

154

1

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

1

193

1

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

0

99

1

useMemo와 useCallback 사용 시기

0

208

2

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

0

228

1

action.type 불러오는 방식

0

222

2

onClickRedo 질문

0

172

1

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

0

249

1

npx webpack 실행시

0

316

1

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

0

235

1

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

0

311

1

react devtool이 enable 않됩니다.

0

532

2

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

0

414

2

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

0

332

1

npm run dev 할 때 에러발생

0

480

2

memo, PureComponenet, shouldComponentUpdate 관련 질문

0

207

1

devMiddleware의 필요성

0

353

1

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

0

937

2

path.join관련질문

0

283

2

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

0

376

1

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

1

494

4