我有这个代码:
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'而不是?
我不知道上述代码有什么问题,你能帮我解决吗?
由于
答案 0 :(得分:1)
您导入错误。您还需要导入React以便能够使用React.createClass,现在您将React命名为&#39; react-native&#39;库:
var React = require('react');
var ReactNative = require('react-native');
var {
AppRegistry,
MapView,
View,
StyleSheet
} = ReactNative;
答案 1 :(得分:0)
我相信ES6类是在React Native中创建反应组件的推荐方法。要做到这一点,你的组件应该是这样的:
import React, { Component } from 'react'
import {
AppRegistry,
MapView,
View,
StyleSheet
} from 'react-native'
class Weather extends Component {
render () {
...
}
}
希望这会有所帮助。