recherche

Maison  >  Questions et réponses  >  le corps du texte

Concaténer les noms de yup et réagir-hook-form lors de l'utilisation d'un tableau d'objets

<p><br /></p><h4>J'essaie de combiner <code>react-hook-form</code> avec <code> code> ;yup</code> a été connecté, mais une erreur a été rencontrée. Mon objectif est de passer un nom comme <code>exampleArray${index}.exampleProp</code> puisque je vais rendre la zone de saisie en boucle. </h4> <p>Un exemple simple :</p> <pre class="brush:php;toolbar:false;">import * as yup from "yup" ; importer { useForm } depuis "react-hook-form" ; importer { yupResolver } depuis "@hookform/resolvers/yup" ; schéma const = ouais.object().shape({ exempleArr : ouais.array().of( ouais.object().shape({ exempleProp:oui.string() }) ) }); tapez FormValues ​​​​= yup.InferType<typeof schema>; exporter la fonction par défaut App() { méthodes const = useForm<FormValues>({ résolveur : yupResolver (schéma) }); retour ( <input type="text" {...methods.register("exampleArr[0].exampleProp")} /> ); }</pré> <blockquote> <p>Le paramètre de type '"exampleArr[0].exampleProp"' ne peut pas être attribué au type '"exampleArr" | <code>exampleArr.${number}</code> { numéro}.exampleProp</code>'. </p> </blockquote> <p>Exemple dans codesandbox : https://codesandbox.io/s/funny-orla-97p8m2?file=/src/App.tsx</p>
P粉743288436P粉743288436472 Il y a quelques jours471

répondre à tous(1)je répondrai

  • P粉312631645

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

    Quel type devez-vous dire exampleArr.${number} :

    Par exemple, je viens de tester ceci sur votre bac à sable et cela a très bien fonctionné :

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

    répondre
    0
  • Annulerrépondre