Je me demande pourquoi extrait suivant est pas mis à jour DOMrendu conditionnel à la mise à jour hyper.Component pas DOM
const { hyper, wire } = hyperHTML;
class Input extends hyper.Component {
get defaultState() {
return { error: false };
}
onclick() {
this.setState(prev => ({ error: !prev.error }));
}
render() {
const textField = wire()
`
<div onconnected=${this} ondisconnected=${this}>
<input type="text" value="foo" onclick=${this}>
<label>bar</label>
</div>
`;
let finalNode;
if (this.state.error) {
finalNode = this.html `
<div>
${textField}
<p>
some name
</p>
</div>
`;
} else {
finalNode = this.html `
<div>
${textField}
</div>
`;
}
return finalNode;
}
}
document
.getElementById('root')
.appendChild(new Input().render());
j'attendre qu'il serait à rendre textField premier et sur un clic pour rendre l'élément p le long. Je peux voir que l'appel de rendu est fait mais l'élément résultant ne finit pas dans DOM.