-1
votes

Objet destruction dans les propriétés de classe ne fonctionne pas

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);
  }
}


1 commentaires

Mais vous n'en passez pas d'objet dans nouvel exemple , vous passez deux arguments anonymes distincts, donc parames 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) , car vous sont passant dans un objet avec des propriétés nommées pouvant être décompressées.


3 Réponses :


4
votes

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);


0 commentaires

-1
votes

Je voudrais suggérer de transmettre un tableau. xxx

comme @bergi a déclaré un paramètre. Si vous recherchez plus d'un paramètre, alors: xxx

mais cela vous aidera beaucoup à la déstructuration.


0 commentaires

1
votes

Vous passez deux paramètres différents à la fonction. Ce qui est déstructuré, il existe en fait le premier paramètre this.prop1 code>. Vous avez plusieurs options:


passez un objet: p> xxx pré>

. P>

constructor() {
    const [prop1, prop2] = arguments;


0 commentaires