こういうやつです。
一般的なWebページでの導入方法はこちらです。
Facebook
https://developers.facebook.com/docs/plugins/share-button/?locale=ja_JP
Twitter
https://developer.twitter.com/en/docs/twitter-for-websites/tweet-button/overview.html
① bodyタグの末尾にSDKのコードを挿入して → ②ボタン本体のタグを埋め込む
という流れですが、SPAの場合このやり方をするだけでは動きません。
解決方法
ボタンを読み込みたい画面で、
Facebookの場合
FB.XFBML.parse();
Twitterの場合
twttr.widgets.load();
のメソッドを呼び出せばOKです。
タイミングはVueやReactを利用しているなら、コンポーネントライフサイクルを使うとよいでしょう。
(Vueならmounted()
, ReactならcomponentDidMount()
)