Я использовал this.refs для компонента класса, и теперь я реорганизую его как функциональный компонент. Я использую библиотеку ViewShot: https://github.com/gre/react-native-view-shot В предыдущей реализации она использовалась следующим образом:
У вас есть изображение QR в вашем приложении, и вы хотите отправить изображение в соц. медиа, чтобы вы обернули его в ViewShot:
<ViewShot ref="viewShot">
<QRImage
address={....}
image={...}
/>
</ViewShot>
Затем, когда вы нажимаете на изображение для обмена, оно делает следующее:
onQRImagePress = async (address: string) => {
const viewShotRef: any = this.refs.viewShot;
try {
const uri = await viewShotRef.capture();
const options: Options = {
url: "file://" + uri,
title: `address: ${address}`,
};
await Share.open(options);
}
catch (e) {
console.log(`Could not screenshot the QR or share it due to: ${e}`);
}
};
Поэтому мы используем ссылку с использованием this.refs of класс. Я хочу сделать это для функционального компонента. желательно с помощью крючков. Я знаю, что userRef существует, но он не работает для меня. Я также пытался использовать createRef, но не знал, как правильно его реализовать.