我正在用StencilJS创建一个JSX组件,并且我的组件没有根据其状态更改重新呈现。我不知道为什么:
import { Component, Prop, State } from '@stencil/core'
@Component({
tag: "button-popover-group",
})
export class ButtonPopoverContainer{
@State() showPopover:boolean = false;
@Prop() popoverContent:JSX.Element;
toggleShowPopover() {
this.showPopover = !this.showPopover;
console.log(this.showPopover);
}
render() {
return (
<div class="rba-something">
<my-button onClick={this.toggleShowPopover}/>
{this.showPopover ?
<my-popover>
{this.popoverContent}
</my-popover> :
null
}
</div>
)
}
}
我的控制台日志语句验证状态是否已更改,但是由于某些原因,我的弹出框永远不可见
答案 0 :(得分:2)
好吧,答案是将切换功能更改为粗箭头功能,因为在JSX中丢失了对“ this”的绑定