2017-10-16 130 views
3

我有一个是包括两个分开的WebPack生成阵营束,HTML页面每个都有其自己index.js条目文件只是没有其相应部件的RenderDOM.render()到其相应<div>传数据阵营应用

<!doctype html> 
<html lang="en"> 
<head> 
    <link href="stylesheets/styles.css" rel="stylesheet"> 
</head> 
<body> 
    <div> 
     <div id="retrieveBtn" 
      style="border: 1px solid black; padding: 5px; width: 10%"> 
      Recuperar Presupuesto 
     </div> 
     <div id="lightbox-portal" 
      style="display: none; border: 1px solid grey"> 
      <div id="react-retrieve"></div> 
     </div> 
    </div> 
    <section class="tariff"> 
     <div id="react-main" class="tariff__content fadeIn js-animated"></div> 
    </section> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <script src="/eco/econonrps_vflx/build/static/js/main_bundle.js"></script> 
    <script src="/eco/retrieve_vflx/build/static/js/retrieve_bundle.js"></script> 
</body> 
</html> 

当显示<div id="uxvida-retrieve"></div>,我们进入它的数据,我们收到各类数据的Ajax响应。

我们试过这个:在页面加载时,每个组件得到渲染,我们接收数据并从组件中附加到id="react-retrieve",我们做另一个ReactDOM.render()id="react-main"

这会产生很多耦合,并且构造函数会再次被调用,而我不希望这样。

总之,如何将该数据传递给其他React组件/应用程序,而无需再次调用ReactDOM.render()

+0

我不太了解反应,但最终它只是JavaScript。你不能在一个或两个“组件”上创建全局可访问的“界面”吗?换句话说你能不能在你的反应成分之一,可以从全球范围内由其他被称为反应过来组件声明的方法? – gforce301

+3

您是否考虑过使用localstorage? https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage – Maru

+0

哦,我没有考虑localStorage的了!这可能正是我需要的。 – Deses

回答

0

如果我找到了你的话,你有两个独立的反应appliadtions呈现在同一页面上。如果是这样,为什么你不能只管理一个应用程序呢?

无论如何,我会建议合并2个应用程序,或更改服务器API调用:服务器只能返回增量数据,我的意思是只能从同一个用户/令牌最后一次通话的差异。