我刚刚开始学习反应所以我提前道歉,如果这听起来像是一个愚蠢的问题。 我正在尝试创建一个简单的iOS页面,其中包含一个触发操作的按钮。 我已经按照教程了解了如何开始,这是我的索引代码:
'use strict';
var React = require('react-native');
var {
AppRegistry,
StyleSheet,
Text,
View,
TouchableHighlight,
Component,
AlertIOS // Thanks Kent!
} = React;
class myProj extends Component {
render() {
return (
<View style={styles.container}>
<Text>
Welcome to React Native!
</Text>
<TouchableHighlight style={styles.button}
onPress={this.showAlert}>
<Text style={styles.buttonText}>Go</Text>
</TouchableHighlight>
</View>
);
}
showAlert() {
AlertIOS.alert('Awesome Alert', 'This is my first React Native alert.', [{text: 'Thanks'}] )
}
}
var styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#FFFFFF'
},
buttonText: {
fontSize: 18,
color: 'white',
alignSelf: 'center'
},
button: {
height: 44,
flexDirection: 'row',
backgroundColor: '#48BBEC',
alignSelf: 'stretch',
justifyContent: 'center'
}
});
AppRegistry.registerComponent('myProj', () => myProj);
问题是,当我从设备上的Xcode运行它时,我得到了
Can't find variable: React
render
main.jsbundle:1509:6
mountComponent
mountChildren
我试图在网上搜索答案,但找不到任何实际有用的东西。知道这里可能出现什么问题吗?
答案 0 :(得分:53)
在最新版本的React Native中,您必须从&#39;反应中导入React。封装
import React, {Component} from 'react';
import {
View,
...
} from 'react-native';
答案 1 :(得分:0)
import * as React from 'react';
答案 2 :(得分:0)
在渲染前添加构造函数
constructor(props) {
超级(道具); }