這是使用react-redux時的設計問題。因此,反應應用程序的數據來自服務。我不想對服務URL進行硬編碼,因爲不同的環境(本地,分段和產品)具有不同的URL。我現在正在做的是將URL保存在redux商店中。但它並不正確,因爲商店應該記錄應用程序狀態,並且URL不是狀態的一部分。有沒有一種「減少」的方式來處理這個問題?使用react-redux和ajax調用API - 如何存儲API URL
0
A
回答
0
我使用npm dotenv軟件包解決了這個問題。它從.env文件設置env變量。一旦它在webpack中完成,我只需要將變量傳遞給React.createElement
。
一旦反應有變量,在商店我使用thunkMiddleWare.withExtraArgument
來傳遞url或任何其他設置變量(例如推送實例)。然後他們可以通過一個簡單的動作來訪問,如
return((dispatch, getState, extra) => {
extra.api...;
extra.pusher.push...;
}
1
實際上,現在應該使用哪個API地址還不是關注的問題,除非您必須在運行中切換它們。
因此,從我的角度來看,最簡單的方法是構建不同的構建選項(例如通過webpack全局變量),它將使用選定的API前綴編譯您的代碼。
你說得對,如果有東西不應該在應用程序商店 - 不要存儲在那裏。通過您的構建工具,預編譯或運行時的一些檢測來解決問題 - 但通常,您的redux代碼不應該有任何副作用,只有應用程序狀態和對事件的響應。
相關問題
- 1. 使用AJAX調用Flask API
- 2. 如何存儲網址,使AJAX調用
- 3. 使AJAX調用MVC API
- 4. 使用PHP和cURL調用API URL
- 5. Ajax調用Web API
- 6. 如何使用ReactXP存儲API?
- 7. 如何從Excel中調用ajax JS API
- 8. Meteor.http.call(調用URL API)
- 9. 使用iOS的鑰匙串來存儲密鑰和API調用
- 10. Jena TDB使用API存儲和查詢
- 11. 使用Ajax調用的私有REST API
- 12. Ajax Api調用React Jsx
- 13. Google API Json Ajax/jquery調用
- 14. Ajax api調用表人口
- 15. Kanbanpad API調用(jQuery AJAX)
- 16. GData API和跨域AJAX調用
- 17. Ajax調用ASP.NET MVC Web API
- 18. 如何使用ajax調用跨域web api?
- 19. Jquery Ajax調用WEB API
- 20. 如何使用圖形API的Ajax調用
- 21. Yammer RESTful API和跨域Ajax調用
- 22. 如何配置twilio API調用URL
- 23. 如何從PHP調用API url?
- 24. 如何從Android中的URL調用API
- 25. 如何調用API URL窗口8 C#
- 26. AJAX網絡API調用
- 27. 使用jquery ajax調用flickr api - IE Dilemma
- 28. 存儲Vs調用Google Places API
- 29. 如何在使用Ajax調用時將用戶名存儲在URL中
- 30. 如何在jquery ajax中使用forvo API?
是不是所有的相對url相同。使用SuperAgent,我不必包含服務器。 –
@yiwen我對這個http://jsfiddle.net/ej2hxz90/的看法 –