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类。