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> etprop2 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, doncparames 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, utiliseznouvel exemple (ceci) code>, car vous i> sont i> passant dans un objet avec des propriétés nommées pouvant être décompressées.