React native 反应本机createClass错误

React native 反应本机createClass错误,react-native,React Native,我有以下代码: var React = require('react-native'); var { AppRegistry, MapView, View, StyleSheet } = React; var Weather = React.createClass({ render: function(){ return <MapView style={styles.map}></MapView> } }); const styles

我有以下代码:

var React = require('react-native');
var {
  AppRegistry,
  MapView,
  View,
  StyleSheet
} = React;

var Weather = React.createClass({
  render: function(){
    return <MapView style={styles.map}></MapView>
  }

});

const styles = StyleSheet.create({
  map: {
    flex: 1,
  }
});

AppRegistry.registerComponent('Weather', () => Weather);
我只想测试地图,但是,当我运行它时,我得到了错误:

似乎您正在尝试访问“react native”包。也许您想从“React”包中访问“React.createClass”

我看不出上面的代码有什么问题,你能帮我吗


谢谢

我相信ES6类是在react Native中创建react组件的推荐方法。为此,您的组件应如下所示:

import React, { Component } from 'react'
import {
  AppRegistry,
  MapView,
  View,
  StyleSheet
} from 'react-native'

class Weather extends Component {
  render () {
    ...
  }
}

希望这有帮助。

您的导入不正确。您还需要导入React才能使用React.createClass,现在您将React命名为“React native”库:

var React = require('react');
var ReactNative = require('react-native');
var {
  AppRegistry,
  MapView,
  View,
  StyleSheet
} = ReactNative;

您好,我尝试了ES6类,现在出现了错误:元素类型无效:内置组件需要一个字符串,复合组件需要一个类/函数,但得到:未定义。您可能忘记了从中定义的文件导出组件…查看您是否正在使用RN版本0.44.0,MapView不再可用HI,我尝试了您的导入代码仍然与Talor A Sugestonyea相同的错误消息,我在他的评论中发布了,但我也将在此处发布:如果您正在使用RN版本0.44.0,MapView不再可用。如果不是这个问题,用你的代码更新你的帖子,这样我们就可以看到你有什么了。嗨,马特,是的,我正在使用RN 0.44…这就是问题:,我试图用一些文本输出替换MapView,文本显示正确,你知道在0.44上是否有替代的本机映射来替换,或者他们只是完全删除它?好的,谢谢大家的帮助我认为你不能再使用createClass了,你必须使用es6类。