[英]stenciljs conditional render return in tsx
我的 stenciljs 渲染函數目前是用打字稿這樣寫的:
render() {
if( this._isInline ) {
return (
<span>
<slot />
</span>
);
} else {
return (
<div>
<slot />
</div>
);
}
}
但我更喜歡這樣寫:
render() {
const tag = this._isInline ? 'span' : 'div';
return (
<{tag}>
<slot />
</{tag}>
);
}
但這給了我一堆錯誤信息。
有沒有辦法編寫 jsx 代碼,以便我有條件的打開和關閉標簽?
您可以使用以下代碼來實現:
render() {
const Tag = this._isInline ? 'span' : 'div';
return (
<Tag>
<slot />
</Tag>
);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.