10
votes

Comment copier du texte dans le presse-papiers en React-Native?

Je voudrais intégrer un petit texte (mon adresse e-mail) mais j'aimerais que l'utilisateur puisse copier ce texte. J'ai pensé à un bouton, lorsque nous cliquons dessus, l'adresse e-mail est copiée et peut être passée en dehors de l'application. Comment faire cela?

<View>
<Text style={{color: 'red', fontSize: 14 , fontFamily:'Arial', fontStyle: 'bold', textAlign: 'center', marginTop: 3, marginLeft: 25, marginBottom: 17}}> 
             mail@mail.com
</Text></View>

Je suis novice, toute aide serait grandement appréciée.


0 commentaires

4 Réponses :


19
votes

Vous pouvez utiliser le Clipboard de @ react-native-community .

Voici comment vous pouvez l'utiliser:

import Clipboard from '@react-native-community/clipboard';

<TouchableOpacity onPress={() => Clipboard.setString('mail@mail.com')}>
  <View>
    <Text style={{color: 'red', fontSize: 14 , fontFamily:'Arial', fontStyle: 'bold', textAlign: 'center', marginTop: 3, marginLeft: 25, marginBottom: 17}}> 
                mail@mail.com
    </Text>
  </View>
</TouchableOpacity>


4 commentaires

merci mais j'ai une erreur, je pense que cela doit venir d'une opacité palpable?


ReferenceError: ReferenceError: Variable introuvable: TouchableOpacity


J'ai édité ma réponse, n'oubliez pas d'importer le TouchableOpacity .


Le presse-papiers a été supprimé du core react-native et doit être installé à partir de @react-native-community/clipboard



0
votes

Bienvenue dans stackoverflow! Veuillez lire https://stackoverflow.com/help/how-to-ask pour savoir comment poser de bonnes questions; le plus souvent, le processus de formulation de la question (s'il est fait correctement) vous mènera à la réponse!

Ainsi, vous avez réussi à afficher votre texte à l'écran en utilisant Text , et vous voulez maintenant que l'utilisateur puisse le copier; Je peux imaginer trois façons de procéder:

  • Comment rendre le texte sélectionnable (et copiable) dans React-Native?
  • Comment afficher la "copie popover" en react-native?
  • Comment copier du texte dans le presse-papiers en appuyant sur un bouton dans React-Native?

Concentrons-nous sur le dernier. Nous pouvons le décomposer davantage:

  • Comment créer un bouton en React-Native?
  • Comment exécuter une fonction en appuyant sur un bouton? (en natif de réaction)
  • Comment copier du texte dans le presse-papiers par programme? (en natif de réaction)

Si nous recherchons ces phrases sur Google, nous trouvons la documentation pertinente:

... avec le morceau de code correspondant:

import { Button, Clipboard } from 'react-native'
...
const email = 'hello@example.com'
const copyIt = ()=> Clipboard.setString(email)
...
<Button
  onPress={copyIt}
  title={email}
/>


0 commentaires

1
votes

fayeed a raison. Vous pouvez utiliser le presse-papiers pour que l'utilisateur copie une chaîne.

En outre, vous donnez facilement à votre composant un presse-papiers. Comme Fayeed l'a fait ci-dessus

<Text 
onPress={()=>Clipboard.setString('mail@mail.com')}
style={{color: 'red', fontSize: 14 , fontFamily:'Arial', fontStyle: 'bold', textAlign: 'center', marginTop: 3, marginLeft: 25, marginBottom: 17}}> 
                mail@mail.com
    </Text>


0 commentaires

2
votes

import { Button, Clipboard } from 'react-native' est remplacé par react-native-community/clipboard


0 commentaires