2017-09-08 105 views
-1

我應該在哪裏存儲指向api的鏈接?在配置中存儲配置

+0

這兩個例子都應該是API的一部分,而不是UI,因此我沒有看到任何與反應有關的連接。這些常量應該完全在.jsx之外。如果你的組件內有它們,你應該首先學習如何正確地將你的應用分成不同的層。 – Sulthan

+0

@Sulthan當你需要一個動態入口點的服務器的Ajax請求,例如,你必須以某種方式提供給用戶界面。 –

+0

@ Sag1v到UI?不,React不會發送Ajax請求。 React顯示數據並觸發操作。這些操作然後觸發請求。所有與請求相關的代碼應該位於正常的「js」文件中,完全在外部反應組件中。 – Sulthan

回答

1

我通過data-attributesroot元素上完成。
如果你仔細想想,你已經將DOM作爲應用渲染的根元素。所以在渲染之前,請抓住data-attribute並存儲它的值。

<div id="app" data-server-url="myserver.com"></div> 
const rootElement = document.getElementById('app'); 
const serverUrl = rootElement.getAttribute('data-server-url'); 
// render your app as you normally doing... 
// but now you can pass in the server-url as a prop 
ReactDOM.render(<App serverUrl={serverUrl} />, rootElement) 
+0

謝謝Sag1v。 當你有很多屬性時,這種方式有點複雜嗎? –

+1

我不明白它有多複雜。這樣你就可以傳遞'DOM'中的變量,同時保持它們不全局。如果我需要從服務器/ API進行動態配置,那麼我在DOM中需要的所有內容都是服務器的入口點,然後從服務器獲取配置數據,並在我的商店內部使用它作出反應。它真的取決於你的用例。 –