简化 React.js 中的条件渲染

2025-05-26

简化 React.js 中的条件渲染

作为一名专业开发者,你必须紧跟最新的技术趋势。今年,我把 Svelte 添加到了我的愿望清单中,作为一个新的学习框架。
在研究 Svelte 的过程中,我对他们处理条件渲染的方式感到惊讶。
不妨看看他们文档中的这个示例:

    {#if user.loggedIn}
      <button on:click={toggle}>
        Log out
      </button>
    {/if}
Enter fullscreen mode Exit fullscreen mode

所有内容都用 if 子句整齐地包裹起来,并与正常流程分开。

经过快速原型设计后,我向您展示了我编写过的最强大的组件,即 IF 组件。

   const IF = ({ condition, children }) => {
     if (!condition) return null;
     return <>{children}</>;
   };
Enter fullscreen mode Exit fullscreen mode

通过将条件卸载到单独的组件中,这将大大提高代码的清洁度和可读性(免费)。

让我们想象一下 React 应用中的 Svelte 示例。它会是这样的:


return (
    <>
      {user.loggedIn && <button>Log out</button>}
    </>
  );
...
Enter fullscreen mode Exit fullscreen mode

当只有一个条件时,这并不是世界末日的问题,但随着我们的应用程序的增长,条件也在增长。

看一下现在重构以使用 IF 的相同组件:


return (
    <IF condition={user.loggedIn}>
      <button>Log out</button>
    </IF>
  );
...

Enter fullscreen mode Exit fullscreen mode

现在可以更轻松地跟踪条件并调试错误条件,而且由于条件已从 JSX 中消失,代码看起来更加简洁。

希望你觉得这有帮助❤️

文章来源:https://dev.to/ornio/simplify-condition-rendering-in-react-js-33l8
PREV
我每周花一个小时来优化我的开发环境。
NEXT
React 中的 Express!React 后端!什么?!🤯