繁体   English   中英

ReactJs 中的条件渲染,用于 Html 中的一部分

[英]Conditional Rendering in ReactJs for one part in Html

只有当变量之一为真时,我才想渲染 Html 的某些部分。 我已经看到可以返回整个元素的示例,但我只想要 html 的一部分的 if 条件。 如果其中一个变量为真,我只想用 10 行显示,但通常使用 500 行的 html。 我可以这样做作为回报 function 吗?


const getCustomers= (props) => {
useEffect(() =>{ do something...});

 return (
<>
if(test === true){
<div> 10 lines</div>
else
{
do not show this div
}
}

<div> 500 lines</div> // Common
</>

)
};

仅使用三元运算符逻辑与运算符支持条件渲染:

{
  something ? '10 lines' : '500 lines'
}

{
  something && '10 lines' || '500 lines'
}

if-else语句在 JSX 中不起作用。 这是因为 JSX 只是 function 调用和 object 构造的语法糖。

有关更多详细信息,您可以阅读内容和文档

尽量避免返回语句中的逻辑。

您可以将条件 output 分配给 JSX 值,并始终呈现它。

const Customers = () => {

  const optionalDiv = test === true && <div>10 lines</div>;

  return (
    <>
      {optionalDiv}
      <div>500 lines</div>
    </>
  );
};

您可以使用条件(三元)运算符

return (
 <>
  { test === true ? (<div> 10 lines</div>) : null }
  <div> 500 lines</div>
 </>

)

我认为只是这样做就应该这样做-

return (
    <>
        {test? <div> 10 lines</div> : null}
        <div> 500 lines which are common</div> 
    </>
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM