Skip to content

Commit 24edab3

Browse files
docs(react): use type annotations instead of casting (#1417)
1 parent 415439f commit 24edab3

File tree

3 files changed

+32
-17
lines changed

3 files changed

+32
-17
lines changed

docs/framework/react/guides/basic-concepts.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,15 @@ You can create options for your form so that it can be shared between multiple f
1212
Example:
1313

1414
```tsx
15+
interface User {
16+
firstName: string
17+
lastName: string
18+
hobbies: Array<string>
19+
}
20+
const defaultUser: User = { firstName: '', lastName: '', hobbies: [] }
21+
1522
const formOpts = formOptions({
16-
defaultValues: {
17-
firstName: '',
18-
lastName: '',
19-
hobbies: [],
20-
} as Person,
23+
defaultValues: defaultUser,
2124
})
2225
```
2326

@@ -38,16 +41,19 @@ const form = useForm({
3841
You may also create a form instance without using `formOptions` by using the standalone `useForm` API:
3942

4043
```tsx
44+
interface User {
45+
firstName: string
46+
lastName: string
47+
hobbies: Array<string>
48+
}
49+
const defaultUser: User = { firstName: '', lastName: '', hobbies: [] }
50+
4151
const form = useForm({
52+
defaultValues: defaultUser,
4253
onSubmit: async ({ value }) => {
4354
// Do something with form data
4455
console.log(value)
4556
},
46-
defaultValues: {
47-
firstName: '',
48-
lastName: '',
49-
hobbies: [],
50-
} as Person,
5157
})
5258
```
5359

docs/philosophy.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,15 @@ useForm<MyForm>()
5252
You should do:
5353

5454
```typescript
55+
interface Person {
56+
name: string
57+
age: number
58+
}
59+
60+
const defaultPerson: Person = { name: 'Bill Luo', age: 24 }
61+
5562
useForm({
56-
defaultValues: {
57-
name: 'Bill Luo',
58-
age: 24,
59-
} as MyForm,
63+
defaultValues: defaultPerson,
6064
})
6165
```
6266

examples/react/array/src/index.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@ import * as React from 'react'
22
import { createRoot } from 'react-dom/client'
33
import { useForm } from '@tanstack/react-form'
44

5+
interface Person {
6+
name: string
7+
age: number
8+
}
9+
10+
const defaultPeople: { people: Array<Person> } = { people: [] }
11+
512
function App() {
613
const form = useForm({
7-
defaultValues: {
8-
people: [] as Array<{ name: string; age: number }>,
9-
},
14+
defaultValues: defaultPeople,
1015
onSubmit({ value }) {
1116
alert(JSON.stringify(value))
1217
},

0 commit comments

Comments
 (0)