この例は、 https://developers.facebook.com/docs/react-native/sharingにある Facebook の例から正確にコピーしました。
問題は、関数をヒットすると undefined がオブジェクトではないことです( 'ShareDialog.canShow' を評価しています。それが ShareDialog オブジェクトを参照していることはわかっています。
ラインを使用してインポートしています
import {ShareDialog} from 'react-native-fbsdk';
私の関数のコードは次のとおりです。
shareOnFacebook () {
var tmp = this;
ShareDialog.canShow(this.state.shareLinkContent).then(
function(canShow) {
if (canShow) {
return ShareDialog.show(tmp.state.shareLinkContent);
}
}
).then(
function(result) {
if (result.isCancelled) {
alert('Share cancelled');
} else {
alert('Share success with postId: ' + result.postId);
}
},
function(error) {
alert('Share fail with error: ' + error);
}
);
}