-
Notifications
You must be signed in to change notification settings - Fork 48
Space - Kate #36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Space - Kate #36
Conversation
React Tic Tac ToeMajor Learning Goals/Code Review
Functional Requirements
Overall Feedback
Code Style Bonus AwardsWas the code particularly impressive in code style for any of these reasons (or more...?)
SummaryVery nicely done, the app works well and you got it deployed on Github pages! Sweet! You really demonstrated an understanding of state here and how to manage it in a React app. You met all the learning goals here. |
| const [squares, setSquares] = useState(generateSquares()); | ||
| const [currentPlayer, setCurrentPlayer] = useState(PLAYER_1); | ||
| const [currentWinner, setCurrentWinner] = useState(null); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
| if (currentPlayer===PLAYER_1) { | ||
| setCurrentPlayer(PLAYER_2) | ||
| } | ||
| else { | ||
| setCurrentPlayer(PLAYER_1) | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a suggestion
| if (currentPlayer===PLAYER_1) { | |
| setCurrentPlayer(PLAYER_2) | |
| } | |
| else { | |
| setCurrentPlayer(PLAYER_1) | |
| } | |
| const next_player = currentPlayer === PLAYER_1 ? PLAYER_2: Player_1 | |
| setCurrentPlayer(next_player) |
| } | ||
| }; | ||
|
|
||
| const checkForWinner = () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
| const isSquaresFilled = () => { | ||
| let isFilled = true; | ||
| //turn squares array from 2d to 1d:https://stackoverflow.com/questions/14824283/convert-a-2d-javascript-array-to-a-1d-array | ||
| let squaresflat = [].concat(...squares); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you can also do:
| let squaresflat = [].concat(...squares); | |
| let squaresflat = squares.flat() |
React Tic Tac Toe
Congratulations! You're submitting your assignment. Please reflect on the assignment with these questions.
Reflection
useStateconnected?CS Fundamentals Questions
setState-- it must re-render all of the components that now have different content because of that change.What kind of data structure are the components in, and what sort of algorithms would be appropriate for React's code to "traverse" those components?
Speculate wildly about what the Big-O time complexity of that code might be.