簡體   English   中英

tsx 中的 stenciljs 條件渲染返回

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM