首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:(0,_analytics.analytics)不是一个函数)

TypeError:(0,_analytics.analytics)不是一个函数)
EN

Stack Overflow用户
提问于 2020-11-23 19:06:02
回答 3查看 1.6K关注 0票数 1

在react本地应用程序中,我使用的是firebase google分析。

问题是在跟踪屏幕上,我跟踪此链接,但是我有这个错误。

TypeError: (0 , _analytics.analytics) is not a function).

还有屏幕拍摄

我的应用程序文件(drawer.js):

代码语言:javascript
复制
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:

代码语言:javascript
复制
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本机-firebase/ analytics’导入分析;我得到了这个错误。屏幕截图

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-11-23 20:31:37

我认为你没有百分之百地遵循这些文档:)

在您的代码中,您需要:

代码语言:javascript
复制
import  {analytics }from '@react-native-firebase/analytics';

但是,如果您查看这个文件:https://github.com/invertase/react-native-firebase/blob/master/packages/analytics/lib/index.js,您会发现没有命名的导出分析。输入import {analytics}时所做的工作是导入一个命名的导出:https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export

由于该文件中没有命名的导出分析,所以分析的值是未定义的,因此您将得到所描述的错误。

我应该键入(如链接示例中所写的):

代码语言:javascript
复制
import analytics from '@react-native-firebase/analytics';
票数 0
EN

Stack Overflow用户

发布于 2021-01-04 22:48:09

如果使用的是setCurrentScreen方法,则需要使用以下方法

package.jsom

代码语言:javascript
复制
"@react-native-firebase/analytics": "^10.4.0",
"@react-native-firebase/app": "^10.4.0",

不正确

代码语言:javascript
复制
import analytics from '@react-native-firebase/analytics';
.
.
.
analytics().setCurrentScreen('SignUpScreen');`

校正

代码语言:javascript
复制
import analytics from '@react-native-firebase/analytics';
.
.
.
// Google Firebase Analytics
analytics().logScreenView({
    screen_name: 'SignUpScreen',
    screen_class: 'SignUpScreen'
});
票数 4
EN

Stack Overflow用户

发布于 2021-02-07 20:16:38

在新的更新中,setCurrentScreen不再存在。使用其他函数进行日志记录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64974779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档