我正在使用react-native和socket.io創建應用程序。一旦使用io.connect(...)
與socket.io連接,我需要使用可以在任何組件中使用的套接字客戶端保存一個變量。更好的方法在反應本機組件之間共享變量
但問題是:
1 - 我使用的反應導航,這樣我就可以不通過從組件的屬性,因爲連接沒有在導航根製成,它被一個孩子裏面做出屏幕
2 - I不能通過如使用this.props.navigation.navigate(route, {socketIo})
導航參數,因爲它是一個圓形的對象,並且JSON.stringify內部反應導航模塊拋出試圖處理數據
3的錯誤 - 我無法創建模塊並將其導入其他文件,一旦它將生成多個連接
這解決了我的問題的解決方法是設置一個全局變量是這樣的:
global.socket = io.connect(...)
不過,雖然谷歌上搜索,我發現很多人說這是不是一個好方法。有沒有更好的方法來解決這個問題?
感謝您的回答。使用組件是一個好主意,對我來說工作得很好 –