객체 배열을 사용할 때 yup과 React-hook-form의 이름을 연결합니다.
<p><br /></p><h4><code>react-hook-form</code>을 <code>register</code>를 통해 <code>와 결합하려고 합니다. ;예</code> 패턴이 연결되었지만 오류가 발생했습니다. 내 목표는 루프에서 입력 상자를 렌더링할 것이므로 <code>exampleArray${index}.exampleProp</code>과 같은 이름을 전달하는 것입니다. </h4>
<p>간단한 예:</p>
<pre class="brush:php;toolbar:false;">import *를 "yup"에서 yup으로 가져옵니다.
"react-hook-form"에서 { useForm }을 가져옵니다.
"@hookform/resolvers/yup"에서 { yupResolver }를 가져옵니다.
const 스키마 = yup.object().shape({
exampleArr: yup.array().of(
yup.object().shape({
exampleProp:yup.string()
})
)
});
type FormValues = yup.InferType<스키마 유형>;;
기본 함수 내보내기 App() {
const 메소드 = useForm<FormValues>({
리졸버: yupResolver(스키마)
});
반품 (
<input type="text" {...methods.register("exampleArr[0].exampleProp")} />
);
}</pre>
<인용문>
<p>'exampleArr[0].exampleProp'' 유형의 매개변수는 'exampleArr' 유형에 할당될 수 없습니다. <code>exampleArr.${number}</code> { 번호}.exampleProp</code>'. </p>
</인용문>
<p>codesandbox의 예: https://codesandbox.io/s/funny-orla-97p8m2?file=/src/App.tsx</p>