Reactoron能改善React Native开发体验。
Reactoron这个开发工具,把我们输出的日志像twitter信息流一样保存起来,等我们需要的时候,可以回过头过滤找到日志,展开日志详情查看。提高ReactNative开发效率。 看日志会特别方便,体验也不错。
下载最新的release包,本地安装。
使用
1. 集成在React Native项目中
1 | npm i --save-dev reactotron-react-native |
2. 配置文件
创建ReactotronConfig.js
基础用法:1
2
3
4
5
6import Reactotron from 'reactotron-react-native'
Reactotron
.configure() // controls connection & communication settings
.useReactNative() // add all built-in react native plugins
.connect() // let's connect!
高级配置:
1 | import Reactotron from 'reactotron-react-native' |
asyncStorage
参数类型:
1 | export interface AsyncStorageOptions { |
ignore
的值,传入key数组,reactotron
不会展示这些key的存储数据
networking
参数类型:1
2
3
4export interface NetworkingOptions {
ignoreContentTypes?: RegExp; // 如果response的Content-Type匹配上这个正则表达式,不展示response,
ignoreUrls?: RegExp; // 要忽略的urls
}
例子:1
2
3 ignoreContentTypes: /^(image)\/.*$/i,
ignoreUrls: /\/(logs|symbolicate)$/,
})
Error
参数类型:1
2
3export interface TrackGlobalErrorsOptions {
veto?: (frame: any) => boolean;
}veto
函数,我们可以通过它指定我们不想看到的堆栈信息.这里的frame指stack frame.
比如: 如下忽略报错时所有react-native module里头的stack frame.1
2
3
4
5
6Reactotron
.configure()
.use(trackGlobalErrors({
veto: frame => frame.fileName.indexOf('/node_modules/react-native/') >= 0
}))
.connect()
3. improt
在App.js
或者index.js
文件头中引入:
1 | if(__DEV__) { |
4. 打点
像用console.log
一样,调用 Reactotron.log
ReactNative项目跑起来后,可以在Reactotron面板上看到:
其他API:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17Reactotron.log({ numbers: [1, 2, 3], boolean: false, nested: { here: 'we go' } })
Reactotron.warn('*glares*')
Reactotron.error('Now you\'ve done it.')
Reactotron.display({
name: 'KNOCK KNOCK',
preview: 'Who\'s there?',
value: 'Orange.'
})
Reactotron.display({
name: 'ORANGE',
preview: 'Who?',
value: 'Orange you glad you don\'t know me in real life?',
important: true
})
Redux的数据信息
reactotron/plugin-redux.md at master · infinitered/reactotron · GitHub
scan qr code and share this article