2017-10-16 228 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調用:服務器只能返回增量數據,我的意思是隻能從同一個用戶/令牌最後一次通話的差異。