react-native - TypeError: (0 , _analytics.analytics) 不是函数)谷歌分析反应原生
问题描述
在 react native app 中,我使用的是 firebase google analytics。
问题出在跟踪屏幕上,我点击了这个链接,但是我遇到 了这个错误。
TypeError: (0 , _analytics.analytics) is not a function).
和截图。
我的应用容器文件(drawer.js):
import { createDrawerNavigator } from 'react-navigation-drawer';
import { createAppContainer } from 'react-navigation';
import Feed from '../components/Home';
import {FeedStack} from './stack';
import React, { Component } from 'react';
import {analytics }from '@react-native-firebase/analytics';
const MyDrawerNavigator = createDrawerNavigator(
{
Feed: FeedStack
},
);
function getActiveRouteName(navigationState) {
if (!navigationState) {
return null;
}
const route = navigationState.routes[navigationState.index];
if (route.routes) {
return getActiveRouteName(route);
}
return route.routeName;
}
const AppContainer =createAppContainer(MyDrawerNavigator);
export default () => {
return <AppContainer
onNavigationStateChange={(prevState, currentState, action) => {
const currentRouteName = getActiveRouteName(currentState);
const previousRouteName = getActiveRouteName(prevState);
if (previousRouteName !== currentRouteName) {
analytics().setCurrentScreen(currentRouteName, currentRouteName);
}
}}
/>
}
我的 app.js :
import Feed from './src/components/Home';
import HomePage from './src/components/homeEpaper';
import Navigator from './src/navigator/drawer';
import React, { Component } from 'react';
export default function App() {
return (
<Navigator />
)
}
我还尝试从“@react-native-firebase/analytics”导入分析;我得到了这个错误。截屏
解决方案
如果您使用的是setCurrentScreen
方法,那么您需要使用以下内容
包.jsom
"@react-native-firebase/analytics": "^10.4.0",
"@react-native-firebase/app": "^10.4.0",
不正确
import analytics from '@react-native-firebase/analytics';
.
.
.
analytics().setCurrentScreen('SignUpScreen');`
正确的
import analytics from '@react-native-firebase/analytics';
.
.
.
// Google Firebase Analytics
analytics().logScreenView({
screen_name: 'SignUpScreen',
screen_class: 'SignUpScreen'
});
推荐阅读
- python - 使用 Pandas 进行 Pivot 和 Groupby
- typescript - 我可以在 Typescript 中扩展接口的一部分吗?
- email - URL 查询字符串值在通过电子邮件发送后损坏
- karate - 有没有办法在使用空手道对 Ghatling 执行负载测试时将 API 响应存储到文件
- mongodb - 如何将默认值设置为填充的 3D 数组并仍然定义其中的对象?
- vue.js - 在元素(Vue)自动完成中选择后保持下拉
- linux - 我想使用shell脚本删除目录下的所有文件,将文件目录作为参数传递
- java - Java中的本机方法实现
- excel - 如何创建日常工作所需的简单 VBA 宏?
- javascript - Liferay 7:使用 URL 参数和 Javascript 预填表单