Wie integrieren Sie das Twitter-widget in Reactjs?
Möchte ich hinzufügen des Twitter-widgets zu Reagieren, aber ich weiß nicht, wo Sie anfangen sollen oder wie Sie es tun. Ich bin ganz neu Reagieren JS.
Hier ist die HTML-version der code:
<div class="Twitter">
<a class="twitter-timeline" href="https://twitter.com/<%= @artist.twitter %>" data-widget-id="424584924285239296" data-screen-name='<%= @artist.twitter %>'>Tweets by @<%= @artist.twitter %></a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
Und hier ist was ich habe, so weit:
React.DOM.div
className: 'Twitter'
children: [
React.DOM.a
className: 'twitter-timeline'
href: "https://twitter.com/" + artist.twitter
'data-widget-id': "424584924285239296"
'data-screen-name': artist.twitter
children: 'Tweets by ' + artist.twitter
React.DOM.script
children: ...
]
Ich war in Planung, um das Skript hinzuzufügen, wo die Punkte (...) sind, aber das funktioniert nicht. Danke für Eure Hilfe.
- Sie werden wahrscheinlich wollen, um zu bewerten eine Alternative Lösung, aber Sie können den dangerouslySetInnerHTML - Eigenschaft, um das Skript ordnungsgemäß gerendert
- Die
<script>
ist nicht auf eine externe Ressource verweist (keinesrc
- Attribut). Könnte Sie kopieren Sie den Inhalt der Funktion in das script-tag, um Ihre Komponente und rufen Sie die Funktion in der KomponentecomponentDidMount
?
InformationsquelleAutor Finch | 2014-08-10
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersten laden der Widget-JS in Ihrem index.html(bevor Ihr Reagieren, Skripte). Dann in der Komponente, tun Sie einfach Folgendes. Die widget-JS wird rescan der DOM.
Finden Sie unter: https://dev.twitter.com/web/javascript/initialization
Dies funktioniert für mich!
Bitte beachten Sie, dass ich Reagieren v0.14 und ECMAScript 2015 (aka ES6) mit Babel.
index.html (nach dem body-tag):
Twitter-Komponente:
Einige Reagieren Komponente (verwendet Twitter-button):
Oder wenn Sie möchten, um eine benutzerdefinierte Schaltfläche, Sie können einfach tun dies:
Es ist einfach, alles, was Sie brauchen, verwenden Sie einfach Reagieren, ist
componentDidMount
HakenScheint es viel einfacher zu benutzen Sie einfach den Twitter
widgets.js
insbesondere createTimeline.Laden Sie die Bibliothek direkt aus
https://platform.twitter.com/widgets.js
, aber Sie empfehlen folgende snippet:Weitere Informationen über die Einrichtung der Bibliothek ist hier.
Können Sie diese Reagieren Soziale Komponente Einbetten.
Disclaimer: Es ist ein Bestandteil von mir erstellt.
Installieren:
npm i react-social-embed
.Verwendung:
IMHO sollten Sie Spalten ihn in zwei.
Ein Teil der code könnte irgendwie gerendert Reagieren Komponente
Ihre script-tag platziert werden konnte, als eine separate Reagieren Komponente oder als normale HTML-knapp über dem schließenden body-tag.
http://qiita.com/h_demon/items/95e638666f6bd479b47b
Gibt es einige interessante Lösungen, aber alle diese sind intravenös Twitter-code zur Internetseite.
Was würde ich vorschlagen, die zu erstellen einen anderen leere html-Datei nur für dieses widget. ZB.
/twitter.html
, wo Sie können, legen Sie alle schmutzige Javascript-und rendering-widget.Dann, wenn Sie enthalten:
Wird es ohne Probleme funktionieren. Plus, Sie haben sich getrennt, externe Skripts es ist also gut für die Sicherheit.
Nur fügen Sie einige styling machen es gut Aussehen:
twitter.html
Reagieren die iframe