main
js 29 lines 654 Bytes
Raw
1 'use client';
2
3 import * as React from 'react';
4 import {useFormStatus} from 'react-dom';
5 import ErrorBoundary from './ErrorBoundary.js';
6
7 function Status() {
8 const {pending} = useFormStatus();
9 return pending ? 'Saving...' : null;
10 }
11
12 export default function Form({action, children}) {
13 const [isPending, setIsPending] = React.useState(false);
14
15 return (
16 <ErrorBoundary>
17 <form action={action}>
18 <label>
19 Name: <input name="name" />
20 </label>
21 <label>
22 File: <input type="file" name="file" />
23 </label>
24 <button>Say Hi</button>
25 <Status />
26 </form>
27 </ErrorBoundary>
28 );
29 }