I'd like to view my network requests in React Native to help me debug - ideally in the 'Network' tab of Chrome's devtools.
There are some closed issues about this on GitHub (https://github.com/facebook/react-native/issues/4122 and https://github.com/facebook/react-native/issues/934) but I don't entirely understand them. It sounds like I need to undo some of React Native's polyfills and then run some commands with extra debugging flags, and maybe modify some Chrome security settings? And apparently there are some security issues involved in doing this that might make it a terrible idea, but nobody involved in the thread has explicitly stated what they are.
Could somebody provide a step-by-step guide to getting the Network tab working with React Native, as well as an explanation of the security issues involved in doing so?
解决方案
This is what I've been using in the entry point of my app
const _XHR = GLOBAL.originalXMLHttpRequest ?
GLOBAL.originalXMLHttpRequest :
GLOBAL.XMLHttpRequest
XMLHttpRequest = _XHR
EDIT: frevib linked to more concise syntax below. Thanks frevib!
GLOBAL.XMLHttpRequest = GLOBAL.originalXMLHttpRequest || GLOBAL.XMLHttpRequest;
Explanation:
GLOBAL.originalXMLHttpRequest refers the the Chrome Dev Tools copy of XHR. It is provided by RN as an escape hatch. Shvetusya's solution will only work if the dev tools are open and thus providing XMLHttpRequest.
EDIT: You will need to allow cross origin requests when in debugger mode. With chrome you can use this handy plugin.
EDIT: Read about the RN github issue that lead me to this solution
最后
以上就是高挑紫菜最近收集整理的关于network reactnative_如何在React Native中查看网络请求(用于调试)?的全部内容,更多相关network内容请搜索靠谱客的其他文章。
发表评论 取消回复