Objet de passage que les accessoires de jsx
J'ai un objet contient plusieurs communes de la clé-valeur des accessoires, des que je veux transmettre à certains jsx. Quelque chose comme ceci:
const commonProps = {myProp1: 'prop1',myProp2: 'prop2'};
<MyJsx commonProps />
Je veux que cette fonction de passage individuel des accessoires:
<MyJsx myProp1={commonProps.myProp1} myProp2={commonProps.myProp2}/>
Est-ce possible?
- Oui.
<MyJsx myObjProps={commonProps} />
- Cochez cette stackblitz.com/edit/react-jwxzth
Vous devez vous connecter pour publier un commentaire.
Oui, pourquoi vous pensez que ce n'est pas possible, mais la façon dont vous êtes l'envoi n'est pas correct.
Sens de
<MyJsx commonProps />
est:Donc, si vous ne spécifiez aucune valeur par défaut, il prendra
true
. Pour passer de l'objet, vous devez l'écrire comme ceci:Mise à jour:
Si vous avez un objet et veut transmettre toutes les propriétés distinctes prop, de l'écrire comme ceci:
<MyJsx {...commonProps} />
<p>{props.props.hello}</p>
Vous pouvez utiliser le la propagation de l'opérateur pour ce faire.
Maintenant ce que toutes les propriétés que vous avez dans commonProps sera envoyé comme individu accessoires pour MyJsx
Vous devez utiliser des doubles accolades, comme ceci:
Ou de passer de nombreux objets:
C'est tout simplement JS syntaxe à l'intérieur d'accolades.
Un dernier élément pourrait ressembler à ceci
Vous pouvez passer des accessoires en tant qu'objet de deux façons:-
const commonProps = {myProp1: 'prop1',myProp2: 'prop2'};
1.À l'aide de la propagation de l'Opérateur:-
2.Passez simplement que les accessoires:-