J'utilise NavigatorIOS et WebView pour comprendre la navigation.Webview dans reac-native ne s'affiche pas avec un autre tag jsx, mais est affiché seul
Je ne suis pas en mesure d'afficher le WebView ici, mais si je garde juste la balise WebView, cela fonctionne. Cela ne fonctionne pas avec la balise Text. En outre, je comprends que la fonction de rendu doit retourner une balise et je joins les deux balises dans la balise 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;