create-cloudflare
Version:
A CLI for creating and deploying new applications to Cloudflare.
59 lines (55 loc) • 1.64 kB
JSX
import { useState } from 'react'
import reactLogo from './assets/react.svg'
import viteLogo from '/vite.svg'
import cloudflareLogo from './assets/Cloudflare_Logo.svg'
import './App.css'
function App() {
const [count, setCount] = useState(0)
const [name, setName] = useState('unknown')
return (
<>
<div>
<a href='https://vite.dev' target='_blank'>
<img src={viteLogo} className='logo' alt='Vite logo' />
</a>
<a href='https://react.dev' target='_blank'>
<img src={reactLogo} className='logo react' alt='React logo' />
</a>
<a href='https://workers.cloudflare.com/' target='_blank'>
<img src={cloudflareLogo} className='logo cloudflare' alt='Cloudflare logo' />
</a>
</div>
<h1>Vite + React + Cloudflare</h1>
<div className='card'>
<button
onClick={() => setCount((count) => count + 1)}
aria-label='increment'
>
count is {count}
</button>
<p>
Edit <code>src/App.tsx</code> and save to test HMR
</p>
</div>
<div className='card'>
<button
onClick={() => {
fetch('/api/')
.then((res) => res.json())
.then((data) => setName(data.name))
}}
aria-label='get name'
>
Name from API is: {name}
</button>
<p>
Edit <code>worker/index.js</code> to change the name
</p>
</div>
<p className='read-the-docs'>
Click on the Vite and React logos to learn more
</p>
</>
)
}
export default App