如何在控制台获取React Native运行时全局变量及查看AsyncStorage
Hey there, let's break down your two questions one by one:
1. 获取React Native运行时的全局变量
- 在调试模式下(开启Debug JS Remoting),无论是React Native Debugger还是Chrome DevTools的控制台,都可以直接访问
global对象来查看全局变量。比如你想查看某个全局变量myGlobalVar,直接在控制台输入myGlobalVar或者global.myGlobalVar就能拿到它的值。 - 如果你的变量不是默认全局的,你可以主动把它挂载到
global对象上,方便调试。比如在代码里加一句:
这样在控制台输入if (__DEV__) { global.userSession = userSessionData; // 把你要调试的变量挂到global上 }userSession就能快速查看这个变量的内容了。 - 注意:React Native运行环境里的全局对象是
global,和浏览器的window不一样,别搞混啦。
2. 使用
showAsyncStorageContentInDev()查看AsyncStorage内容 首先明确:完全不需要修改RNDebuggerWorker.js文件,这个方法是React Native Debugger已经帮你注入到全局环境里的,有两种简单的使用方式:
- 方式一:直接在控制台调用
只要你开启了RN Debugger的调试连接,直接在控制台输入showAsyncStorageContentInDev()然后回车,就能在控制台看到AsyncStorage里存储的所有键值对了,非常灵活,想查的时候随时调用就行。 - 方式二:在应用代码中触发
如果你想在应用启动或者某个特定时机自动展示,也可以在你的应用代码里调用它,但记得加上开发环境判断,避免在生产环境执行:
这里不需要额外引入任何模块,因为调试模式下这个方法已经是全局可用的了。// 类组件示例 componentDidMount() { if (__DEV__) { showAsyncStorageContentInDev(); } } // 函数组件示例 useEffect(() => { if (__DEV__) { showAsyncStorageContentInDev(); } }, []);
内容的提问来源于stack exchange,提问作者gkeenley
相关产品推荐
相关产品推荐

