React native:无法导入和使用外部包

时间:2016-07-24 10:09:19

标签: javascript node.js reactjs npm react-native

我正在尝试使用react-native-tabbar-navigator包。我做到了 我的项目目录中的npm install react-native-tabbar-navigator --save来安装包。在我的代码中,我有以下导入行来使用该包。

import React, { Component } from 'react';
import {TabBarNavigator} from 'react-native-tabbar-navigator'
import MainTab from './MainTab';


import {
  AppRegistry,
  StyleSheet,
  Text,
  View,
} from 'react-native';

但是,在我的Android模拟器上运行这个会给我以下错误:

似乎你试图从react-native包访问'ReactNative.Component'。也许您打算从'react'包中访问'React.Component'而不是?

如果删除TabBarNavigator的导入行,则错误消失。为什么会这样?

我使用的是tabbarnavigator的0.3.0版本和反应原生的0.31.0-rc.0版本

1 个答案:

答案 0 :(得分:2)

该库已过时,在发布新版本之前无法使用。

正如您所见hereTabBarNavigator正在从Component 'react-native'导入react-native node_modules v0.26 +。

您可以手动更改本地包中的内容(var React = require('react-native'); var { Component, StyleSheet, Text, View, TabBarIOS } = React; ),

替换

import {
  StyleSheet,
  Text,
  View,
  TabBarIOS
} from 'react-native';
import {Component} from 'react'

到这个

config.xml
MainTabBar.js MainNavigator.js

无论如何,您可以更轻松地安装像react-native-tab-navigator这样的更新库。