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
  }
});
41
demandé sur Austin Greco 2015-04-26 05:15:16

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>
    );
  }
});       
34
répondu Yevgen Safronov 2016-11-11 10:54:27

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!');
  },
});
24
répondu ide 2016-07-19 01:40:07

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);

enter image description here

Lire La Suite Ici.

24
répondu Ashok R 2017-01-12 02:10:57

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 ou TouchableNativeFeedback ou TouchableOpacity ou TouchableWithoutFeedback. 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-contentalignContent

1
répondu kabangi julius 2017-07-15 10:21:21
<Button
  onPress={onPressLearnMore}
  title="Learn More"
  color="#841584"
  accessibilityLabel="Learn more about this purple button"
/>

toutes les infos pour le bouton réagir natif

1
répondu Aymen 2017-07-15 10:46:33

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

0
répondu Montaser Almohasen 2017-05-02 18:01:52