【发布时间】:2016-06-23 21:20:03
【问题描述】:
我正在使用 NavigatorIOS 和 WebView 来理解导航。
我无法在此处查看 WebView,但如果我只保留 WebView 标签,它就可以工作。它不适用于 Text 标签。另外,我知道渲染函数应该返回一个标签,并且我将这两个标签包含在 View 标签中。
'use strict';
var React = require('react-native');
var {
AppRegistry,
StyleSheet,
Text,
View,
NavigatorIOS,
WebView,
TouchableWithoutFeedback,
ScrollView
} = React;
var FirstPage = React.createClass({
_handleChangePage() {
this.props.toggleNavBar();
this.props.navigator.push({
title: "Second Page",
component: SecondPage,
passProps: {
toggleNavBar: this.props.toggleNavBar,
}
});
},
render() {
return (
<View>
<Text>FirstPage</Text>
<TouchableWithoutFeedback onPress={this._handleChangePage}>
<View style={styles.button}>
<Text style={styles.buttonText}>Go to SecondPage</Text>
</View>
</TouchableWithoutFeedback>
</View>
);
}
});
var SecondPage = React.createClass({
_handleChangePage() {
this.props.toggleNavBar();
this.props.navigator.push({
title: "First Page",
component: FirstPage,
passProps: {
toggleNavBar: this.props.toggleNavBar,
}
});
},
render() {
return (
<View>
<ScrollView>
<Text> Some Text </Text>
<WebView
url={'https:www.google.com'}
scalesPageToFit={true}
/>
</ScrollView>
</View>
);
}
});
var SampleApp = React.createClass({
getInitialState() {
return {
navigationBarHidden: false
};
},
toggleNavBar() {
this.setState({
navigationBarHidden: !this.state.navigationBarHidden
});
},
render() {
return (
<NavigatorIOS ref="nav"
itemWrapperStyle={styles.navWrap}
style={styles.nav}
initialRoute={{
title: "First Page",
component: FirstPage,
passProps: {
toggleNavBar: this.toggleNavBar,
}
}} />
);
}
});
var styles = StyleSheet.create({
navWrap: {
flex: 1,
marginTop: 70
},
nav: {
flex: 1,
},
button: {
backgroundColor: "#009DDD",
padding: 10,
margin: 10,
},
buttonText: {
color: "#fff"
}
});
AppRegistry.registerComponent('SampleApp', () => SampleApp);
module.exports = SampleApp;
【问题讨论】:
标签: javascript webview react-native navigator