検索

ホームページ  >  に質問  >  本文

オブジェクトの配列を使用する場合は、yup と reverse-hook-form の名前を連結します

<p><br /></p><h4><code>react-hook-form</code> を <code>register</ 経由で <code> と結合しようとしていますcode> ;yup</code> パターンが接続されましたが、エラーが発生しました。私の目標は、入力ボックスをループでレンダリングするため、<code>exampleArray${index}.exampleProp</code> のような名前を渡すことです。 </h4> <p>簡単な例:</p> <pre class="brush:php;toolbar:false;">import * as yup from "yup"; import { useForm } from "react-hook-form"; "@hookform/resolvers/yup" から { yupResolver } をインポートします。 const スキーマ = yup.object().shape({ 例Arr: 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> | <code>exampleArr.$ {数値}.exampleProp</code>'。 </p> </blockquote> <p>codesandbox の例: https://codesandbox.io/s/funny-orla-97p8m2?file=/src/App.tsx</p>
P粉743288436P粉743288436562日前541

全員に返信(1)返信します

  • P粉312631645

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

    exampleArr.${number} のタイプを に伝える必要があります:

    たとえば、サンドボックスでこれをテストしたところ、完璧に動作しました:

    リーリー

    返事
    0
  • キャンセル返事