我正在尝试从Tyler McGinnis教程中学习反应原生:https://egghead.io/lessons/react-react-native-basic-ios-routing#/tab-code
下面的错误信息似乎很简单,但我不确定我做错了什么。
似乎你试图从'react-native'包中访问'ReactNative.Component'。也许你的意思是从'react'包中访问'React.Component'。例如,而不是:
从'react-native'导入React,{Component,View};
你现在应该这样做:
从'react'导入React,{Component};从{导入} '反应天然';
import React, { Component } from 'react';
import {AppRegistry,NavigatorIOS,StyleSheet,Text,View} from 'react-native';
import {Main} from './App/Components/Main';
var styles = StyleSheet.create({ container: {
flex: 1,
backgroundColor: '#111111' }, });
答案 0 :(得分:4)
您的文件将
<li>
设置为&#39; react-native&#39; 默认导出,不 &#39;做出反应&#39 ; 一个。
你在文件的后面 在设置为&#39; react-native&#39; 默认导出的变量上访问{{myTitle}} {{mySubTitle}} {{item1}} {{item2}} {{item3}}
将无法正常工作(React native不包含{{ 1}}作为命名导出)
&#39; react&#39; 库是React
(因此React.Component
)的位置命名导出是定义的。
<强>解决方案:强>
在 Main 中,将导入更改为以下内容:
Component
当您现在引用{Component}
时,没有问题,因为它已被正确定义,同时仍保留对React-Native组件的引用。
答案 1 :(得分:2)
此错误消息应该是关于v 0.25.1
引入的弃用的警告https://github.com/facebook/react-native/releases/tag/v0.25.1
现在不推荐使用react-native的React API。你仍然在你的Main.js
中拥有它var React = require('react-native');
var {
StyleSheet,
Text,
View
} = React;
将其更改为:
import React, { Component } from 'react';
import {StyleSheet,Text,View} from 'react-native';