Javascript ReactJS中的jquerywrap等价物

Javascript ReactJS中的jquerywrap等价物,javascript,jquery,reactjs,Javascript,Jquery,Reactjs,在ReactJS中是否有jQuery wrap的等价物 我试图用下面的元素包装menuContents <ul className="nav nav-pills nav-stacked"></ul> 我正在寻找一个功能(如果有的话)像 menuContents.wrap(); 所以回报是 <ul className="nav nav-pills nav-stacked"> <li> One </li> &

在ReactJS中是否有jQuery wrap的等价物

我试图用下面的元素包装
menuContents

<ul className="nav nav-pills nav-stacked"></ul>
我正在寻找一个功能(如果有的话)像

menuContents.wrap(
    );
    所以回报是

    <ul className="nav nav-pills nav-stacked">
       <li>
         One
       </li>
       <li>
         Two
       </li>
    </ul>
    
    • 一个
    • 两个

    据我所知,React中没有这样的东西,但您可以使用

    以及如何使用它

    let wrapper= document.createElement('div');
    myWrap(myElement, wrapper);
    

    React不是一组字符串粘合辅助工具,它在组件上运行,当然可以通过简单的组件或HOC模式来管理这个用例,从而使其更具可组合性

    您可以创建简单的组件(甚至不用渲染道具)来包装/装饰具有“父”(
    )结构和样式的项(子项),如下所示:

    <UlComponent ulClasses="nav nav-pills nav-stacked" >
      {menuContents}
    </UlComponent>
    

    使用HOC,您可以使用组合创建更复杂的组件(注入道具、全局状态、i18n)。您可以有几个级别的组件深度(虚拟DOM树很便宜)渲染到单个(或无)真实DOM元素,隐藏其所有复杂性/数据/依赖性不再(容易出错)手动搜索/操作DOM节点/属性/处理程序。

    @Esko,我同意,我会将其更改为
  • @Jayavel我现在正在这样做,不知道是否有内置的东西,所以我可以使用
    menuContents.wrap(
      避免直接DOM操作-react可以在重新提交更新的组件时覆盖这些更改
      function myWrap(element, wrapper) {
          element.parentNode.insertBefore(wrapper, element);
          wrapper.appendChild(element);
      }
      
      let wrapper= document.createElement('div');
      myWrap(myElement, wrapper);
      
      <UlComponent ulClasses="nav nav-pills nav-stacked" >
        {menuContents}
      </UlComponent>
      
      const UlComponent = (props) => <ul className={props.ulClasses}>{props.children}</ul>