Может кто-нибудь объяснить использование this.html в примере условного рендеринга?
Я пытаюсь понять источник использования this.html
Функция тегового шаблона внутри метода рендеринга LoginControl из этого примера: https://viperhtml.js.org/hyperhtml/examples/#!fw=React&example=Conditional%20Rendering
class LoginControl extends HTMLElement {
constructor(...args) {
super(...args).html = hyperHTML.bind(this);
this.handleLoginClick = this.handleLoginClick.bind(this);
this.handleLogoutClick = this.handleLogoutClick.bind(this);
}
connectedCallback() { this.setState({isLoggedIn: false}); }
setState(state) { this.state = state; this.render(); }
handleLoginClick() {
this.setState({isLoggedIn: true});
}
handleLogoutClick() {
this.setState({isLoggedIn: false});
}
render() {
const isLoggedIn = this.state.isLoggedIn;
return this.html`
<div>${[
Greeting(isLoggedIn),
isLoggedIn ?
LogoutButton(this.handleLogoutClick) :
LoginButton(this.handleLoginClick)
]}</div>`;
}
}
Является this.render
что-то делать с CustomElements?
В других примерах это определяется так:
get html() { return this._html || (this._html = hyperHTML.bind(this)); }
Во всяком случае, любые намеки на то, где this.html
в этом примере будет полезно для меня.