Как подключить share-кнопки соцсетей в React?

Всем привет. Имеется изоморфное SPA. Необходимо на некоторые страницы подключить share-кнопки соцсетей. Каким образом это сделать? Было бы здорово с примером. Заранее спасибо
  • Вопрос задан
  • 2932 просмотра
Решения вопроса 1
evilandfox
@evilandfox
Javascript, meteor, Qt
Фишка в том, что для таких иницилизируемых javascript'ом компонентов надо делать инициализацию в componentDidMont через доступ с помощью ref:
codepen.io/evilandfox/pen/jAxJxv
<script type="text/javascript" src="http://vk.com/js/api/share.js?93" charset="windows-1251"></script>
<script>window.twttr = (function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0],
    t = window.twttr || {};
  if (d.getElementById(id)) return t;
  js = d.createElement(s);
  js.id = id;
  js.src = "https://platform.twitter.com/widgets.js";
  fjs.parentNode.insertBefore(js, fjs);
 
  t._e = [];
  t.ready = function(f) {
    t._e.push(f);
  };
  return t;
}(document, "script", "twitter-wjs"));</script>
<div id="main"></div>

var Component = React.createClass({
  componentDidMount: function(){
    this.refs.vk.innerHTML = VK.Share.button(false, {type: "round", text: "Сохранить"});
    twttr.widgets.createShareButton(
      'https://dev.twitter.com/',
      this.refs.tw,
      {
        text: 'Hello World'
      });
  },
  render: function(){
    return (
      <div>
        <h4>Поделиться:</h4>
        <div ref="vk"></div>
        <div ref="tw"></div>
      </div>
    );
  }
});

ReactDOM.render(<Component/>, document.getElementById("main"));
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@merss
Как у вас это получается? У меня выдает ошибку "error 'VK' is not defined"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы