ZBD | f60356c | 2025-04-03 20:09:51 +0800 | [diff] [blame^] | 1 | import { useState } from 'react' |
| 2 | import reactLogo from './assets/react.svg' |
| 3 | import viteLogo from '/vite.svg' |
| 4 | import './App.css' |
| 5 | |
| 6 | function App() { |
| 7 | const [count, setCount] = useState(0) |
| 8 | |
| 9 | return ( |
| 10 | <> |
| 11 | <div> |
| 12 | <a href="https://vite.dev" target="_blank"> |
| 13 | <img src={viteLogo} className="logo" alt="Vite logo" /> |
| 14 | </a> |
| 15 | <a href="https://react.dev" target="_blank"> |
| 16 | <img src={reactLogo} className="logo react" alt="React logo" /> |
| 17 | </a> |
| 18 | </div> |
| 19 | <h1>Vite + React</h1> |
| 20 | <div className="card"> |
| 21 | <button onClick={() => setCount((count) => count + 1)}> |
| 22 | count is {count} |
| 23 | </button> |
| 24 | <p> |
| 25 | Edit <code>src/App.jsx</code> and save to test HMR |
| 26 | </p> |
| 27 | </div> |
| 28 | <p className="read-the-docs"> |
| 29 | Click on the Vite and React logos to learn more |
| 30 | </p> |
| 31 | </> |
| 32 | ) |
| 33 | } |
| 34 | |
| 35 | export default App |