Javascript 在react jsx中可以用大括号{}编写的有效语法是什么

Javascript 在react jsx中可以用大括号{}编写的有效语法是什么,javascript,reactjs,Javascript,Reactjs,如果在jsx中使用条件运算符,如{var | | var2},{var&&var2},则会出现语法错误 我想要达到的是 render(){ return ( {bool1} || {bool2} && <renderSomething> ) } render(){ 返回( {bool1}|{bool2}&& ) } 我不想用一些 任何关于jsx语法的提示和技巧都将非常有用。render(){ render(){ return ( <

如果在jsx中使用条件运算符,如
{var | | var2}
{var&&var2}
,则会出现语法错误

我想要达到的是

render(){
  return (
    {bool1} || {bool2} && <renderSomething>
  )
}
render(){
返回(
{bool1}|{bool2}&&
)
}
我不想用一些

任何关于jsx语法的提示和技巧都将非常有用。

render(){
render(){
  return (
    <React.Fragment>
        { bool1 || bool2 && <renderSomething> } 
    </React.Fragment>
  )
}
返回( {bool1 | | bool2&&} ) }

您可以使用React.Fragment。

如果不想包装div,请使用React.Fragment,如

以下是在您的案例中三种可能的条件呈现方式

render(){
  return (
     <React.Fragment>
       {bool1 && <renderSomething>}
       {bool2 && <renderSomething>}
     </React.Fragment>
  )
}

render(){
  return (
     <React.Fragment>
       {bool1 || bool2 && <renderSomething>}
     </React.Fragment>
  )
}

render(){
  return (
     <React.Fragment>
       {bool1 ? <renderSomething> :( bool2 ?  <renderSomething>: null)}
     </React.Fragment>
  )
}
render(){
返回(
{bool1&&}
{bool2&&}
)
}
render(){
返回(
{bool1 | | bool2&&}
)
}
render(){
返回(
{bool1?:(bool2?:null)}
)
}