adobe / adobe/react-webcomponent
Default model values are passed for attributes that are not present
- Langage dominant
- JavaScript
- Étoiles
- 104
- Forks
- 20
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
### Expected Behaviour
If I have defined a model where I specify a boolean attribute. e.g. `@byBooleanAttrVal() checked`. And, I have an instance of my web component where I do not specify that attribute (e.g. . The props passed to my React components `render` method contain the `checked` prop set to the default value from the model definition.
### Actual Behaviour
I would expect any model attributes that are not specified to not be passed as props. Otherwise, I have no way of telling whether the user set that attribute or not.
### Reproduce Scenario (including but not limited to)
I was wrapping up a React implemented checkbox widget.
#### Steps to Reproduce
1. Create a React component that takes a boolean prop
2. Create a model for that component that uses `@byBooleanAttrVal()`
3. Instantiate the web component without using the boolean attribute from your model
4. Set a breakpoint in the `render` method of your React component
5. Look at the props and see that the boolean prop has been passed in
#### Platform and Version
Chrome 72
#### Sample Code that illustrates the problem
#### Logs taken while reproducing problem
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par reproduire le scénario documenté de custom-element et de rendu React, en vous concentrant sur la manière dont les attributs du modèle sont collectés et transmis comme props. C’est terminé lorsqu’un attribut booléen omis est absent des props React, tandis qu’un attribut explicitement spécifié atteint toujours le render avec sa valeur attendue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, react
- Domaine
- frontend
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100