検索

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

パラメータが省略されたプロパティとしてのコンポーネント

プロパティを定義したいのですが、プロパティが省略されたコンポーネントである必要があります。

いくつかのプロパティを持つ検証コンポーネントがあります:

リーリー

入力コンポーネントがあります。

リーリー

そこで、InputProps.validations は Validation でなければならないと定義したいのですが、値 prop は省略します。

は次のように使用する必要があります:

ああああ

P粉803527801P粉803527801223日前339

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

  • P粉425119739

    P粉4251197392024-04-04 09:27:11

    ここで何を達成したいのかが 完全に明確ではないので、おそらく何かが欠けていると思います...

    ただし、prop が特定のプロパティを持つコンポーネントである必要があることを直接指定することはできません。

    は可能ですが、validations を指定します。<ValidationProps, 'value'/> を省略し、{React.cloneElement(props.validations, {value})} に置き換えます 入力で <validation check={props.validations} value={value}/> をインスタンス化するだけです 更新:

    2 つのコンポーネント (入力と検証) 間に依存関係を持たせたくない場合は、両方によってインポートされる 3 番目のモジュールでプロパティを共有しない限り、props インターフェース間にも依存関係を持たせることはできません。

    この場合、

    validations: (value) => ReactElement

    のように、さらに抽象化して検証をレンダリング プロップにすることができます。その後、以前と同様に使用できますが、「太い矢印」構文が追加されています リーリー

    cloneElement

    の代わりに validations(value) を呼び出してインスタンス化します。 これ

    は、検証レンダリング プロパティに何でも注入できるため、柔軟性が高すぎる点まで抽象化します。

    返事
    0
  • キャンセル返事