import React, { useState } from 'react'
import { SafeAreaView, View, Text, TouchableOpacity, StyleSheet } from 'react-native'
import Clipboard from '@react-native-community/clipboard'
const App = () => {
const [copiedText, setCopiedText] = useState('')
const copyToClipboard = () => {
Clipboard.setString('hello world')
}
const fetchCopiedText = async () => {
const text = await Clipboard.getString()
setCopiedText(text)
}
return (
<SafeAreaView style={{ flex: 1 }}>
<View style={styles.container}>
<TouchableOpacity onPress={() => copyToClipboard()}>
<Text>Click here to copy to Clipboard</Text>
</TouchableOpacity>
<TouchableOpacity onPress={() => fetchCopiedText()}>
<Text>View copied text</Text>
</TouchableOpacity>
<Text style={styles.copiedText}>{copiedText}</Text>
</View>
</SafeAreaView>
)
}
const styles = StyleSheet.create({
//styles
})
export default App
当按“复制到剪贴板”时,我收到一条错误消息
null 不是 and object('evaluating NativeClipboard_1.default.setString')
按下“查看复制的文本”后,我收到 TypeError Unhandlded Promise Rejection。
这段代码是直接从这里复制的:https://github.com/react-native-community/clipboard https://github.com/react-native-community/clipboard
根据世博会文件(https://docs.expo.io/versions/v40.0.0/sdk/clipboard/ https://docs.expo.io/versions/v40.0.0/sdk/clipboard/),他们的 API 提供了一个剪贴板。
安装与
expo install expo-clipboard
并与使用
import * as Clipboard from 'expo-clipboard';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)