簡體   English   中英

ReactJS 條件渲染 - 否則如果不起作用

[英]ReactJS Conditional Rendering - else if doesn't work

我正處於學習 JS 和 React 的階段,我不確定為什么 else if 在下面的代碼中不起作用。 任何人都可以幫助我嗎?

  function Item({ name, isPacked }) {
  if (isPacked) {
    return (
      <li className="item">
        {name} {isPacked && " ✔"}
      </li>
    );
  } else if (!isPacked) {
    return (
      <li className="item">
        {name} {isPacked && " ❌"}
      </li>
    );
  }
}

export default function PackingList() {
  return (
    <section>
      <h1>Sally Ride's Packing List</h1>
      <ul>
        <Item isPacked={true} name="Space suit" />
        <Item isPacked={true} name="Helmet with a golden leaf" />
        <Item isPacked={false} name="Photo of Tam" />
      </ul>
    </section>
  );
}

試試這樣:

function Item({ name, isPacked }) {
    return (
        <li className="item">
            {`${name} ${isPacked ? "✔" : '❌'} `}
        </li>
    );
}

你實際上測試了 isPacked 是真還是假,所以試試這個代碼:

function Item({ name, isPacked }) {
    return (
      <li className="item">
        {name}  {isPacked ? "✔" : "❌" }
      </li>
    );
}

{包裝好了嗎? "✔": "❌" } 所以這行代碼等於:

  if(isPacked == true){
      return "✔";
    }else{
      return "❌";
    }

您可以在此處獲得一些有用的示例https://reactjs.org/docs/conditional-rendering.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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