Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将react集成到现有jqueryspa中_Javascript_Jquery_Reactjs_Frontend - Fatal编程技术网

Javascript 将react集成到现有jqueryspa中

Javascript 将react集成到现有jqueryspa中,javascript,jquery,reactjs,frontend,Javascript,Jquery,Reactjs,Frontend,我目前有一个单页应用程序,它是几年前在jQuery中构建的。我想慢慢过渡到反应,但我在一次构建部分时遇到了问题 调用reactDom.render()时,必须传入一个父“root”元素,该元素包装站点的主体。我不能这样做,因为它会导致太多与现有JS的冲突,并破坏整个应用程序 有没有一种方法可以在没有父容器的情况下针对应用程序的多个部分 比如说 <div id="main-page"> <div id="header"> &l

我目前有一个单页应用程序,它是几年前在jQuery中构建的。我想慢慢过渡到反应,但我在一次构建部分时遇到了问题

调用reactDom.render()时,必须传入一个父“root”元素,该元素包装站点的主体。我不能这样做,因为它会导致太多与现有JS的冲突,并破坏整个应用程序

有没有一种方法可以在没有父容器的情况下针对应用程序的多个部分

比如说

    <div id="main-page">
        <div id="header">
            <div id="search">load component here</div>
        </div>
        <div class="content">
            <div class="section">
                load component here
            </div>
        </div>
    </div>

在此加载组件
在此加载组件
将react加载到
#search
#部分
元素中,不使用包装
reactDom.render(,document.getElementById('main-page')


在这种情况下,如果不重新编写整个前端,最好的做法是什么?

您将DOM操作委托给jQuery并对两者进行反应。这就是为什么会有这么多冲突

所以最好的做法是使用两者中的一种

考虑到实际情况,你的应用程序应该分成几个部分。每个部分都是一个子应用程序,由jQuery或React管理,而不是两者都管理

React允许您在一个网页中多次调用
ReactDOM.render
。每个
ReactDOM.render
将分别运行