账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    react中如何使用jsx处理大段DOM的渲染逻辑?
    75
    0

    问题:在react中如何优雅的处理大段DOM的渲染逻辑呢?

    业务场景:通过后端回传的参数渲染不同的dom结构,并且dom结构较为庞大。(虽然可以使用三元表达式进行判断,但是dom结构较为复杂时会造成代码阅读体验下降。同时多条件判断时三元表达式也有局限性。)

    示例代码:

    {
        this.state.data?dom1:dom2
    }
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 共 0 条
    • 朵烟熏的埖 普通会员 1楼

      在React中,我们可以使用jsx的<ReactComponent />和<React元件>来处理大段DOM的渲染逻辑。这两个元素都可以接受多个参数,包括要渲染的组件、状态和回调函数。

      例如,我们可以创建一个组件来渲染一个大的HTML字符串:

      ```jsx function MyComponent() { return

      ; }

      const htmlString = `

      Hello, world!

      This is a large piece of HTML content.

      `;

      function App() { return (

      ); } ```

      在这个例子中,<MyComponent />组件接收htmlString参数,并将其渲染为一个危险的HTML字符串。由于这个字符串可能包含大段的DOM,因此我们使用<ReactComponent />元素来处理这个风险。

      我们也可以创建一个组件来处理多个HTML字符串:

      ```jsx function MyComponent({ children }) { return (

      {/ 这里可以处理每个子元素 /}
      ); }

      const htmlString1 = `

      Hello, world!

      This is a large piece of HTML content.

      `;

      const htmlString2 = `

      Hello, React!

      This is a long piece of HTML content.

      `;

      function App() { return (

      ); } ```

      在这个例子中,<MyComponent htmlString={htmlString1} />和<MyComponent htmlString={htmlString2} />组件分别接收htmlString1和htmlString2参数,并将它们渲染为子元素。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部