Board에서 renderSquare 함수로 props 받아서 Square에 전달하기.
Board.js 수정
class Board extends React.Component {renderSquare(i) { return <Square value={i} />; }
class Board extends React.Component {renderSquare(i) { return <Square id={i} />; }
import React from 'react';
import Square from './Square';
class Board extends React.Component {
renderSquare(i) {
return <Square id={i} />;
}
render() {
const status = 'Next player: X';
return (
<div>
<div className="status">{status}</div>
<div className="board-row">
{this.renderSquare(1)}
{this.renderSquare(2)}
{this.renderSquare(3)}
</div>
<div className="board-row">
{this.renderSquare(4)}
{this.renderSquare(5)}
{this.renderSquare(6)}
</div>
<div className="board-row">
{this.renderSquare(7)}
{this.renderSquare(8)}
{this.renderSquare(9)}
</div>
</div>
);
}
}
export default Board;
Sqaure.js
{this.props.value}
{this.props.id}
import React from 'react';
class Square extends React.Component {
render() {
return (
<button className="square">
{this.props.id}
</button>
);
}
}
export default Square;
수정 후 !
'Framework > react' 카테고리의 다른 글
게임만들기. 클래스형 컴포넌트 -> 함수형 컴포넌트로 전환하기. (0) | 2024.05.23 |
---|---|
React Devtools 설치하고 실행해보기 (0) | 2024.05.23 |
npm으로 react 프로젝트 생성하기 (0) | 2024.05.21 |
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ] 에러 해결 과정 (0) | 2024.01.10 |
[React] 회원가입 창 만들기. React Router의 useNavigate 훅 사용해서 navigate로 새로운 페이지 이동하기. (1) | 2023.12.22 |