Build a Tic-Tac-Toe game in React.
Requirements:
- Display a 3x3 grid for the game board.
- Two players take turns placing "X" and "O".
- Determine and display the winner when a player gets 3 in a row (horizontal, vertical, or diagonal).
- Allow players to restart the game after it ends.
- Focus on functionality over styling.
- The component should work out-of-the-box in a live React preview (e.g., CodeSandbox/Sandpack).