suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Verketten Sie die Namen „yup“ und „react-hook-form“, wenn Sie ein Array von Objekten verwenden

<p><br /></p><h4>Ich versuche, <code>react-hook-form</code> über <code>register</ zu kombinieren. code> ;yup</code> Muster wurde verbunden, aber es ist ein Fehler aufgetreten. Mein Ziel ist es, einen Namen wie <code>exampleArray${index}.exampleProp</code> zu übergeben, da ich das Eingabefeld in einer Schleife rendern werde. </h4> <p>Ein einfaches Beispiel:</p> <pre class="brush:php;toolbar:false;">import * as yup from "yup"; import { useForm } from „react-hook-form“; import { yupResolver } from „@hookform/resolvers/yup“; const schema = yup.object().shape({ exampleArr: yup.array().of( yup.object().shape({ exampleProp:yup.string() }) ) }); type FormValues ​​​​= yup.InferType<typeof schema>; Standardfunktion App() exportieren { const-Methoden = useForm<FormValues>({ Resolver: yupResolver(schema) }); zurückkehren ( <input type="text" {...methods.register("exampleArr[0].exampleProp")} /> // Fehler hier ); }</pre> <blockquote> <p>Parameter vom Typ „exampleArr[0].exampleProp“ kann nicht dem Typ „exampleArr“ | zugewiesen werden { number}.exampleProp</code>'. </p> </blockquote> <p>Beispiel in codesandbox: https://codesandbox.io/s/funny-orla-97p8m2?file=/src/App.tsx</p>
P粉743288436P粉743288436454 Tage vor462

Antworte allen(1)Ich werde antworten

  • P粉312631645

    P粉3126316452023-08-18 20:03:26

    你需要告诉exampleArr.${number}的类型是什么:

    例如,我刚在你的沙盒上测试了一下,它运行得很好:

    <input type="text" {...methods.register("exampleArr[0].exampleProp" as any)} />

    Antwort
    0
  • StornierenAntwort