Comment ajouter un bouton à Réagir Natif?
je suis confus avec tout ce truc" pas de CSS", mais je comprends pourquoi c'est bénéfique. Tout ce que je veux faire, c'est placer un bouton au milieu de l'écran mais je ne comprends pas encore comment fonctionne le style dans React. C'est mon code:
var tapSpeed = React.createClass({
render: function() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Tap me as fast as you can!
</Text>
<View style={styles.button}>
!
</View>
</View>
);
}
});
var styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#FFCCCC'
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10
},
button: {
textAlign: 'center',
color: '#ffffff',
marginBottom: 7,
border: 1px solid blue,
borderRadius: 2px
}
});
6 réponses
mise à Jour: en utilisant bouton composant.
Obsolète:
Enveloppez votre point de Vue dans TouchableHighlight pour iOS et TouchableNativeFeedback pour Android.
var {
Platform,
TouchableHighlight,
TouchableNativeFeedback
} = React;
var tapSpeed = React.createClass({
buttonClicked: function() {
console.log('button clicked');
},
render: function() {
var TouchableElement = TouchableHighlight;
if (Platform.OS === 'android') {
TouchableElement = TouchableNativeFeedback;
}
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Tap me as fast as you can!
</Text>
<TouchableElement
style={styles.button}
onPress={this.buttonClicked.bind(this)}>
<View>
<Text style={styles.buttonText}>Button!</Text>
</View>
</TouchableElement>
</View>
);
}
});
réagissent-native-bouton paquet fournit un bouton qui est comme un style natif bouton. L'installer avec npm install react-native-button
et à utiliser dans votre composant comme ceci:
var Button = require('react-native-button');
var ExampleComponent = React.createClass({
render() {
return (
<Button
style={{borderWidth: 1, borderColor: 'blue'}}
onPress={this._handlePress}>
Press Me!
</Button>
);
},
_handlePress(event) {
console.log('Pressed!');
},
});
vous pouvez utiliser l'élément de bouton React-native intégré.
import React, { Component } from 'react';
import { StyleSheet, View, Button, Alert, AppRegistry } from 'react-native';
class MainApp extends Component {
_onPress() {
Alert.alert('on Press!');
}
render() {
return (
<View style={styles.container}>
<View style={styles.buttonContainer}>
<Button onPress={this._onPress} title="Hello" color="#FFFFFF" accessibilityLabel="Tap on Me"/>
</View>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#FFFFFF'
},
buttonContainer: {
backgroundColor: '#2E9298',
borderRadius: 10,
padding: 10,
shadowColor: '#000000',
shadowOffset: {
width: 0,
height: 3
},
shadowRadius: 10,
shadowOpacity: 0.25
}
})
AppRegistry.registerComponent('MainApp', () => MainApp);
Lire La Suite Ici.
vous avez deux options pour réaliser un composant/bouton touchable pour gérer les événements de l'utilisateur.
- on doit utiliser le construit dans
Button
Composant. Vérifiez les docs ici http://facebook.github.io/react-native/docs/button.html - Deux utiliser
TouchableHighlight
ouTouchableNativeFeedback
ouTouchableOpacity
ouTouchableWithoutFeedback
. Pensez à cela comme un moyen pour vous de convertir les différents domaines de votre application tappable(cliquable) ou un moyen pour vous de créer un bouton personnalisé. Chaque composant ici est différent basé sur la façon dont il se comporte une fois qu'il est saisi par l'utilisateur. Vérifiez la documentation pour plus de détails. http://facebook.github.io/react-native/docs/touchablewithoutfeedback.html etc.
en ce qui concerne le style dans react native, vous aurez besoin de comprendre la mise en page de flexbox. Toutes les règles sont applicables à react-native https://css-tricks.com/snippets/css/a-guide-to-flexbox/ sauf que vous devrez capitaliser les règles e.g align-content
alignContent
<Button
onPress={onPressLearnMore}
title="Learn More"
color="#841584"
accessibilityLabel="Learn more about this purple button"
/>
Veuillez vérifier réagir natif doc en ce qui concerne les boutons
Vous avez plus d'une façon d'ajouter un bouton dans votre application et le style qu'il
Vous pouvez utiliser le bouton tag et il n'a qu'une seule façon style par attribut de couleur, il apparaîtra dans IOS différent de Android, ou en mettant bouton en vue tag avec le style
<View style={style.buttonViewStyle}>
<Button title="Facebook" color="blue" onPress={this.onFacebookPress} />
</View>
et vérifier les tags TouchableOpacity et TouchableNativeFeedback
Et de prendre un verrouillage sur le lien ci-dessous pour plus d'options pour ajouter des boutons personnalisés dans votre application
https://js.entraîneur/réagir indigènes/réagir-native-action-bouton?recherche = Bouton