“null 不是对象(正在评估‘_reactNative.NativeModules.RNShare.FACEBOOK’)”导入引发问题
2021-11-27
7143
我目前正在尝试使用 React Native 构建一个应用程序,用户可以在其中输入数据、生成二维码,然后共享同一个二维码。
输入数据和生成二维码的工作方式与预期一致。然而,共享却让我很头疼。目前,我将数据保存为普通变量,并使用“react-native-qrcode-svg”显示二维码。对于共享部分,我使用的是“react-native-share”。
后者给出了此错误:
TypeError:null 不是对象(评估“_reactNative.NativeModules.RNShare.FACEBOOK”)
我的代码:
export default function App() {
return (
<View style={styles.container}>
<QRCode
value={JSON.stringify({test: 'testdata'})}
getRef={c => (this.svg = c)}
/>
<TouchableOpacity onPress={this.saveQRCode}>
<View style={styles.instructions}>
<Text>Share QR code</Text>
</View>
</TouchableOpacity>
</View>
);
}
saveQRCode = () => {
this.svg.toDataURL(this.callback);
};
callback = (dataURL) => {
console.log(dataURL);
let shareImageBase64 = {
title: 'React Native',
url: `data:image/png;base64,${dataURL}`,
subject: 'Share Link', // for email
};
Share.open(shareImageBase64).catch(error => console.log(error));
}
任何帮助都将不胜感激。
2个回答
我有一个已被弹出的 expo 项目,我通过停止 metro、运行
npx pod-install
,然后从模拟器中卸载应用程序,然后重新启动所有内容,解决了这个问题。
另请参考这些问题以获取帮助:
https://github.com/react-native-share/react-native-share/issues/322
https://github.com/react-native-share/react-native-share/issues/837
Steve
2021-12-07
尝试关闭并使用“react-native run-android”重建应用程序。 它对我有用。
Souvik
2022-06-26