Comment ajouter dynamiquement des propriétés basées sur les conditions dans les composants React ?
P粉665427988
P粉665427988 2023-08-20 14:54:00
0
2
529

Existe-t-il un moyen d'ajouter des propriétés à un composant React uniquement lorsque certaines conditions sont remplies ?

Je dois ajouter les attributs obligatoires et readOnly à l'élément de formulaire en fonction des conditions de l'appel Ajax post-rendu, mais je ne sais pas comment résoudre ce problème car readOnly="false"< /code> est complètement différent de l'omission d'attributs.

L'exemple ci-dessous devrait illustrer ce que je veux, mais cela ne fonctionne pas.

(Erreur d'analyse : identifiant inattendu)

function MyInput({isRequired}) { return  } ≪/pré> 


P粉665427988
P粉665427988

répondre à tous (2)
P粉545218185

La réponse de

juandemarcoest généralement correcte, mais voici une autre option.

Construisez un objet à votre goût :

var inputProps = { value: 'foo', onChange: this.handleChange }; if (condition) { inputProps.disabled = true; }

Utilisez spread pour le rendu, et vous pouvez également choisir de transmettre d'autres accessoires.

    P粉863295057

    Apparemment, pour certaines propriétés, si la valeur transmise à React n'est pas une vraie valeur, React omettra intelligemment la propriété. Par exemple :

    const InputComponent = function() { const required = true; const disabled = false; return (  ); }

    Vous obtiendrez :

    Mise à jour :Si quelqu'un est curieux de savoir comment et pourquoi cela se produit, vous pouvez trouver les détails dans le code source de ReactDOM, en particulier aux lignes 30 et167du fichierDOMProperty.js.

      Derniers téléchargements
      Plus>
      effets Web
      Code source du site Web
      Matériel du site Web
      Modèle frontal
      À propos de nous Clause de non-responsabilité Sitemap
      Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!