开发者问题收集

“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