Skip to content

getValues

폼 값 가져오기

</> getValues: (payload?: string | string[]) => Object

폼 값을 읽기 위한 최적화된 헬퍼입니다. watchgetValues의 차이점은 getValues는 리렌더링을 발생시키지 않으며, 입력의 변경 사항을 구독하지 않는다는 점입니다.

Props


TypeDescription
undefined폼의 모든 값을 반환합니다.
string폼 값에서 지정된 경로의 값을 가져옵니다.
array폼 값에서 지정된 경로의 값을 배열로 반환합니다.

Examples:


아래 예제는 getValues 메서드를 호출할 때 기대할 수 있는 동작을 보여줍니다.

<input {...register("root.test1")} />
<input {...register("root.test2")} />
NameOutput
getValues(){ root: { test1: '', test2: ''} }
getValues("root"){ test1: '', test2: ''}
getValues("root.firstName")''
getValues(["yourDetails.lastName"])['']
RULES
  • 비활성화된 입력값은 undefined로 반환됩니다. 사용자가 입력을 수정하지 못하게 하면서도 필드 값을 유지하고 싶다면, readOnly를 사용하거나 전체 <fieldset />을 비활성화할 수 있습니다. 예제를 참조하세요.
  • 초기 렌더링 이전에는 useForm에서 제공된 defaultValues를 반환합니다.

예제:


import React from "react"
import { useForm } from "react-hook-form"
type FormInputs = {
test: string
test1: string
}
export default function App() {
const { register, getValues } = useForm<FormInputs>()
return (
<form>
<input {...register("test")} />
<input {...register("test1")} />
<button
type="button"
onClick={() => {
const values = getValues() // { test: "test-input", test1: "test1-input" }
const singleValue = getValues("test") // "test-input"
const multipleValues = getValues(["test", "test1"]) // ["test-input", "test1-input"]
}}
>
Get Values
</button>
</form>
)
}
import { useForm } from "react-hook-form"
export default function App() {
const { register, getValues } = useForm()
return (
<form>
<input {...register("test")} />
<input {...register("test1")} />
<button
type="button"
onClick={() => {
const values = getValues() // { test: "test-input", test1: "test1-input" }
const singleValue = getValues("test") // "test-input"
const multipleValues = getValues(["test", "test1"])
// ["test-input", "test1-input"]
}}
>
Get Values
</button>
</form>
)
}
import React from "react"
import { useForm } from "react-hook-form"
// Flat input values
type Inputs = {
key1: string
key2: number
key3: boolean
key4: Date
}
export default function App() {
const { register, getValues } = useForm<Inputs>()
getValues()
return <form />
}
// Nested input values
type Inputs1 = {
key1: string
key2: number
key3: {
key1: number
key2: boolean
}
key4: string[]
}
export default function Form() {
const { register, getValues } = useForm<Inputs1>()
getValues()
// function getValues(): Record<string, unknown>
getValues("key1")
// function getValues<"key1", unknown>(payload: "key1"): string
getValues("key2")
// function getValues<"key2", unknown>(payload: "key2"): number
getValues("key3.key1")
// function getValues<"key3.key1", unknown>(payload: "key3.key1"): unknown
getValues<string, number>("key3.key1")
// function getValues<string, number>(payload: string): number
getValues<string, boolean>("key3.key2")
// function getValues<string, boolean>(payload: string): boolean
getValues("key4")
// function getValues<"key4", unknown>(payload: "key4"): string[]
return <form />
}

지원해 주셔서 감사합니다

프로젝트에서 React Hook Form이 유용하다고 생각하신다면, 스타를 눌러 지원해 주시길 부탁드립니다.