inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

웹 게임을 만들며 배우는 React

리액트 새로고침 (구구단)

294

jinmin2216

작성한 질문수 2

0

선생님의 구구단 코드를 리액트 컴포넌트에 넣어보고 있습니다!

자꾸 구구단을 submit하면 새로고침돼서 state 값이 사라집니다!

새로 고침이 안되게 바꿀 수 있는 방법이 있을까요ㅜㅜ?

import React, { FragmentuseState } from 'react';
import { Link } from 'react-router-dom';

const Multiplication = () => {
  const [gugudanStatesetGugudanState] = useState({
    first: Math.ceil(Math.random() * 9),
    second: Math.ceil(Math.random() * 9),
    value: '',
    result: ''
  });
  const onChange = (e=> {
    setGugudanState({
      ...gugudanState,
      value: e.target.value
    })
  }
  const onSubmit = (e=> {
    //e.preventdefault();
    if (gugudanState.first * gugudanState.second === parseInt(gugudanState.value)) {
      setGugudanState({
        first: Math.ceil(Math.random() * 9),
        second: Math.ceil(Math.random() * 9),
        value: '',
        result: "정답입니다!"
      })
    } else {
      setGugudanState({
        ...gugudanState,
        value: "",
        result: "땡"
      })
    }
  }
  return (
    <Fragment>
      <h2>이곳은 구구단 게임장입니다.</h2>
      <div>{gugudanState.first} 곱하기 {gugudanState.second}는?</div>
      <form onSubmit={(e=> onSubmit(e)}>
        <input type="number" value={gugudanState.value} onChange={(e=> onChange(e)} />
        <button>입력!</button>
      </form>
      <div>{gugudanState.result}</div>
      <Link to="/Game" className="btn btn-light">
        이전으로
      </Link>
    </Fragment >
  );
};

export default Multiplication;

react

답변 1

0

제로초(조현영)

e.preventDefault()를 주석처리(//)하셨는데 주석을 푸시면 됩니다.

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

0

203

2

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

0

85

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

205

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

530

2

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

0

411

2

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

0

331

1

npm run dev 할 때 에러발생

0

478

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