12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import { useState, useEffect } from 'react'
- import reactLogo from './assets/react.svg'
- import viteLogo from '/vite.svg'
- import './App.css'
- import {createPub, usePub} from './lib';
- import type { Pub } from './lib';
- const testPub:Pub = createPub({count: 0})
- testPub.subscribe(() => console.log(testPub.count))
- setInterval(() => testPub.count--, 5000)
- function App() {
- const {count} = usePub(testPub)
- return (
- <>
- <div>
- <a href="https://vitejs.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>
- </div>
- <h1>Vite + React</h1>
- <div className="card">
- <button onClick={() => testPub.count++}>
- count is {count}
- </button>
- <p>
- Edit <code>src/App.tsx</code> and save to test HMR
- </p>
- </div>
- <p className="read-the-docs">
- Click on the Vite and React logos to learn more
- </p>
- </>
- )
- }
- export default App
|