summaryrefslogtreecommitdiff
path: root/examples/framework-multiple/src/components/preact/PreactCounter.tsx
blob: 5ad164cc21170d2e3f364922733b7c122cff0bf1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/** @jsxImportSource preact */

import { useState } from 'preact/hooks';
import type { ComponentChildren } from 'preact';

/** A counter written with Preact */
export function PreactCounter({ children }: { children?: ComponentChildren }) {
	const [count, setCount] = useState(0);
	const add = () => setCount((i) => i + 1);
	const subtract = () => setCount((i) => i - 1);

	return (
		<>
			<div class="counter">
				<button onClick={subtract}>-</button>
				<pre>{count}</pre>
				<button onClick={add}>+</button>
			</div>
			<div class="counter-message">{children}</div>
		</>
	);
}
f3f4703c64?s=13&d=retro' width='13' height='13' alt='Gravatar' /> Mark Teekman 2-8/+30 2021-10-13Change publish date el to be more accessible (#1522)Gravatar AsyncBanana 2-2/+2 2021-10-13[ci] yarn formatGravatar matthewp 1-1/+1 2021-10-13docs: unify concepts in Spanish version (#1545)Gravatar Jorge del Casar 6-11/+11 2021-10-13[ci] yarn formatGravatar matthewp 1-1/+1