我具有以下功能来构建选项卡式项目:

function ConstructTabs(props) {
  const tabs = props.tabs;
  const makeTabs = tabs.map((tab, index) => {
    <React.Fragment>
      <input
        className="input-tabs"
        id={"tab" + index}
        type="radio"
        name="tabs"
        {index === 0 ? checked : ""}
      />
      <label for={"tab" + index}>{tab}</label>
    </React.Fragment>
  });

  return (
    <React.Fragment>
      {makeTabs}
    </React.Fragment>
  );
}


我只想在索引为0时插入选中的属性,而我的问题是条件“ {index === 0?已检查:“”}“。这是我得到的错误:

Parsing error: Unexpected token, expected "..."

  275 |         type="radio"
  276 |         name="tabs"
> 277 |         {index === 0 ? checked : ""}
      |          ^
  278 |       />
  279 |       <label for={"tab" + index}>{tab}</label>
  280 |     </React.Fragment>


有没有办法解决它或有更好的选择?

最佳答案

在没有checked处理程序的表单字段上使用onChange道具将呈现一个只读字段。如果该字段是可变的,请使用defaultChecked

因此,您可以这样做:

defaultChecked={index===0}

关于javascript - 在JSX标记内的 map 中对if语句进行 react ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55895183/

10-13 09:06