首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Undefined不是函数(计算'ReactComponentTreeHook.purgeUnmountedComponents()‘

Undefined不是函数(计算'ReactComponentTreeHook.purgeUnmountedComponents()‘
EN

Stack Overflow用户
提问于 2017-11-18 08:27:06
回答 2查看 858关注 0票数 3

我正面临着这个错误,并试图从互联网上进行搜索,但没有成功。它突然发生了,没有任何原因,所以我不知道如何重现这个错误。我遵循了这个解决方案(https://github.com/facebook/react/issues/8454)。尝试卸载,再次安装react js,但仍然一样。有人能帮我看看这个吗?非常感谢。这是我的package.json

代码语言:javascript
复制
{
  "name": "AwesomeLeadership",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "@monterosa/react-native-parallax-scroll": "^1.0.4",
    "create-react-class": "^15.6.2",
    "dateformat": "^2.0.0",
    "k-core": "0.0.1-alpha.2",
    "lodash-node": "^3.10.2",
    "native-base": "^2.3.1",
    "prop-types": "^15.6.0",
    "pusher-js": "^4.0.0",
    "react": "^16.1.1",
    "react-debbuger": "0.0.1",
    "react-native": "^0.47.1",
    "react-native-autogrow-textinput": "^4.0.0",
    "react-native-autolink": "^1.1.1",
    "react-native-confetti": "0.0.6",
    "react-native-console-panel": "^0.1.0",
    "react-native-deprecated-custom-components": "^0.1.1",
    "react-native-drawer": "^2.3.0",
    "react-native-drop-refresh": "^2.2.0",
    "react-native-dropdown-menu": "^1.1.0",
    "react-native-easy-grid": "^0.1.15",
    "react-native-easy-toast": "^1.0.6",
    "react-native-i18n": "^2.0.1",
    "react-native-image-picker": "^0.25.1",
    "react-native-keyboard-aware-scroll-view": "^0.3.0",
    "react-native-keyboard-aware-scrollview": "^1.1.7",
    "react-native-keyboard-manager": "^4.0.10-3",
    "react-native-keyboard-spacer": "^0.4.1",
    "react-native-lightbox": "^0.7.0",
    "react-native-loading-spinner-overlay": "^0.5.2",
    "react-native-media-kit": "git+https://github.com/ldn0x7dc/react-native-media-kit.git#pull/30/head",
    "react-native-modal": "^3.0.2",
    "react-native-modal-datetime-picker": "^4.7.0",
    "react-native-modal-dropdown": "^0.4.4",
    "react-native-modal-wrapper": "^2.3.0",
    "react-native-mov-to-mp4": "^0.2.1",
    "react-native-multiple-select": "^0.2.1",
    "react-native-native-video-player": "^1.3.4",
    "react-native-orientation": "git+https://git@github.com/yamill/react-native-orientation.git",
    "react-native-photo-view": "^1.3.0",
    "react-native-progress": "^3.3.0",
    "react-native-progress-bar-classic": "^1.2.1",
    "react-native-push-notification": "^2.2.1",
    "react-native-scrollable-tab-view": "^0.8.0",
    "react-native-simple-modal": "^6.0.0",
    "react-native-slider": "^0.10.0",
    "react-native-spinkit": "^1.1.1",
    "react-native-star-rating": "^1.0.7",
    "react-native-swiper": "^1.5.4",
    "react-native-textinput-effects": "^0.4.1",
    "react-native-thumbnail": "^1.0.8",
    "react-native-triangle": "0.0.9",
    "react-native-vector-icons": "^4.0.0",
    "react-native-video": "^2.0.0",
    "react-redux": "^4.4.5",
    "redux": "^3.6.0",
    "redux-logger": "^2.7.4",
    "redux-persist": "^4.0.1",
    "redux-thunk": "^2.1.0",
    "underscore": "^1.8.3"
  },
  "jest": {
    "preset": "jest-react-native"
  },
  "devDependencies": {
    "babel-eslint": "^7.1.1",
    "babel-jest": "17.0.0",
    "babel-preset-react-native": "1.9.0",
    "eslint": "^3.11.1",
    "eslint-config-airbnb": "^13.0.0",
    "eslint-plugin-import": "^2.2.0",
    "eslint-plugin-jsx-a11y": "^2.2.3",
    "eslint-plugin-react": "^6.7.1",
    "jest": "^17.0.0",
    "jest-react-native": "17.0.0",
    "react-test-renderer": "15.3.2"
  },
  "rnpm": {
    "assets": [
      "./assets/fonts"
    ]
  }
}

index.android.js

代码语言:javascript
复制
import React, { AppRegistry } from 'react-native';
import AppProvider from './src/index';
AppRegistry.registerComponent('AwesomeLeadership', () => AppProvider);

index.js

代码语言:javascript
复制
import React, { Component } from 'react';
import { AppRegistry } from 'react-native';
import { Provider } from 'react-redux';
import { persistStore, autoRehydrate } from 'redux-persist';
import store from './app/appStore';
import AppContainer from './app/appContainer';
import Splashscreen from './app/splashScreen';
import I18n from './app/i18n';
import SwipUnlocker from './app/SwipeUnlocker';

const Orientation = require('react-native-orientation');

class AwesomeLeadership extends Component {
  render() {
    return <AppContainer /> ;
  }
}

class AppProvider extends Component {
  constructor(props) {
    super(props);
    this.state = {
      isInitializing: true,
    }
  }

  componentDidMount() {
    Orientation.lockToPortrait();
    const unsubscribe = store.subscribe(() => {
      if (store.getState().isHydrated) {
        unsubscribe();
        I18n.locale = 'sv-SE';
        this.setState({
          isInitializing: false,
        });
      }
    });
  }

  render() {
    if(this.state.isInitializing) {
      return <Splashscreen/>;
    } else {
      return (
        <Provider store={store}>
          <AwesomeLeadership/>
        </Provider>
      );
    }
  }
}

export default AppProvider;

EN

回答 2

Stack Overflow用户

发布于 2017-12-10 02:50:18

我也有同样的错误,我认为它与React和React Native的不同版本有关。

例如,RN 0.51需要React 16.0的对等依赖项。在我的例子中,我有16个alpha,这导致了错误。我建议您尝试安装相应版本的React。

希望能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2017-11-19 23:46:04

我也犯了同样的错误。我只是将react-native版本更改为0.49.0。工作得很好。

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

https://stackoverflow.com/questions/47361210

复制
相关文章

相似问题

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