L'instance de cette classe est créée comme ceci:
export default class Example { constructor(params) { const { prop1, prop2 } = params; console.log('params', params); console.log('prop1', prop1); console.log('prop2', prop2); } }
3 Réponses :
est-il possible que la façon dont je passe ces données à la classe ne fonctionne pas? P>
oui. Votre constructeur de classe attend un seul objet d'options avec deux propriétés,
prop1 code> et
prop2 code>. Votre appel fait cependant simplement deux valeurs d'argument. Vous voulez probablement utiliser P>
this.example = new Example(this);
Je voudrais suggérer de transmettre un tableau. comme @bergi a déclaré un paramètre. Si vous recherchez plus d'un paramètre, alors: p> mais cela vous aidera beaucoup à la déstructuration. P> p>
Vous passez deux paramètres différents à la fonction. Ce qui est déstructuré, il existe en fait le premier paramètre passez un objet: p> . P> this.prop1 code>. Vous avez plusieurs options:
constructor() {
const [prop1, prop2] = arguments;
Mais vous n'en passez pas d'objet dans
nouvel exemple code>, vous passez deux arguments anonymes distincts, donc
parames code> juste mapper sur le premier argument que vous avez passé. Il n'y a pas d'objet à la destruction. Si vous souhaitez désigner la propriété immobilière, utilisez
nouvel exemple (ceci) code>, car vous i> sont i> passant dans un objet avec des propriétés nommées pouvant être décompressées.