inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Học React bằng cách tạo trò chơi trên web

안녕하세요! 에러발생위치에 대해 궁금한게 있습니다.

336

dlsgurdlfkd

23 câu hỏi đã được viết

0

안녕하세요! 제로초님 강의 덕분에 리엑트 열심히 공부하고있습니다 ㅎㅎ

한가지 궁금한게 있어서 질문 올려요.

에러가 발생했는데요,

에러 발생위치 보면

TicTacToc.jsx:98:22 에 에러가 발생했다고 뜨는데

해당 TicTacToc.jsx에는 98번째 줄이 없습니다 ㅠㅠ

그래서 저 콘솔창의 at TicTacToc (VM2667 TicTacToc.jsx:98) 를 클릭했더니

여기서 에러가 발생했다고 나오네요...... 

이렇게 되면 첫번째 사진의 TicTacToc.jsx에서는 실제 어느 위치가 잘못되었는지 알 수 없는데........

이거 알 수 있는 방법 있을까요? ㅠㅠㅠㅠ

저 콘솔창의 에러메세지만 보면 도대체 어디에 있는 tableData가 정의가 안되어있다는건지 모르겠습니다..

감사합니다!!

react

Câu trả lời 1

0

dlsgurdlfkd

const React = require('react')
const {useStateuseEffectuseReduceruseCallback} = React
const Table = require('./Table')

const initalState = {
    winner: '',
    turn: 'o',
    tableData: [['','',''],
                ['','',''],
                ['','','']]
}

module.exports = SET_WINNER = 'SET_WINNER'
module.exports = CLICK_CELL = 'CLICK_CELL'
module.exports = CHANGE_TURN = 'CHANGE_TURN'

const reducer = (stateaction=> {
    switch (action.type) {
        case SET_WINNER :
            return {
                ...state,
                winner: action.winner
            }
        case CLICK_CELL: {
            const tableData = [...state.tableData]
            tableData[action.row = [...tableData[action.row]]]
            tableData[action.row][action.cell] = state.turn
            return {
                ...state
                tableData
            }
        }
        case CHANGE_TURN: {
            return {
                ...state,
                turn: state.turn === 'O' ? 'X' : 'O'
            }
        }
    }
}

const TicTacToc = () => {
    const [statedispatch] = useReducer(reducerinitalState)

    // const [winner, setWinner] = useState('')
    // const [turn, setTurn] = useState('')
    // const [tabledata, settableData] = useState([['','',''],['','',''],['','','']])
    const onClickTable = useCallback(() => {
        dispatch({ type: SET_WINNERwinner: 'O'})
    }, [])

    return (
        <>
            <Table onClick={onClickTable} tableData={state.tableData} dispatch={dispatch}/>
            {state.winner && <div>{state.winner} 님의 승리</div>}
        </>
    )
}

module.exports = TicTacToc

곰곰히 보니깐 하단의 return 부분을 말하는거같은데..

table, tr, td컴포넌트로 tableData를 보내는데는 문제가 전혀 없었습니다.

왜 정의가 안되어있다고 나오는지 도저히 모르겠습니다..

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

236

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