Ich versuche, meinen Kopf herum zu bekommen, wie man d3 Graphen hinzufügt, um native App zu reagieren. Nur Informationen, die ich gefunden habe, ist es, webView zu verwenden, aber ich würde sehr dankbar sein, ein paar Beispiele für Arbeitsmaterial in github zu haben.Reagieren Sie nativ mit d3 und webView
3
A
Antwort
4
Ich habe ein Kreisdiagramm mit d3 ohne Verwendung eines Webview erstellt. Mit d3, erzeugen Sie Ihr Diagramm und legen Sie den resultierenden SVG-Code in eine Form Komponente:
<Surface width={100} height={100} >
<Group x={50} y={50} >
<Shape d={'M...Here goes the svg code'}
stroke={'#000'}
strokeWidth={1}
fill={'#FF0000'} />
</Group>
</Surface>
Ein einfaches Beispiel finden Sie hier: https://github.com/radogost/PieChartExample
Vielleicht mit diesem Ansatz, Sie sind in der Lage Live aktualisiert erstellen Diagramme?
2
Ich habe andere Bibliothek und erstellte lokale HTML-Datei:
<WebView source={{uri: 'file:///android_asset/webview.html'}} style={{
height: 180,
borderWidth: 2,
width: 400
}}></WebView>
Und in webview.html ich habe:
<script src="Chart.min.js"></script>
<h1>Hellosss</h1>
<canvas id="myChart" width="400" height="400"></canvas>
<script>
var data = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [65, 59, 80, 81, 56, 55, 40]
},
{
label: "My Second dataset",
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: [28, 48, 40, 19, 86, 27, 90]
}
]
};
var ctx = document.getElementById("myChart").getContext("2d");
myLineChart = new Chart(ctx).Line(data, {
animation: false,
scaleBeginAtZero: true });
</script>
Ausgabe im Moment, wo ich mit dieser Lösung zu finden, ich nicht Live-Update tun kann, und Kommunikation in beide Richtungen zwischen nativer App und Webview.
Irgendwelche Vorschläge? Ich muss authToken plus aktualisierte Daten übergeben und Seite nicht aktualisieren.
Verwandte Themen
- 1. Kommunikation zwischen Android nativ und reagieren nativ
- 2. Nativ reagieren mit Cocoapods
- 3. Reagieren Nativ: Paket Parse-Fehler
- 4. Reagieren nativ, RCT_EXPORT_METHOD in Sicht
- 5. Reagieren nativ - Telefonnummer mit der Nebenstelle
- 6. Dynamische Farbe in reagieren nativ
- 7. Dev-Server zurückgegeben Fehlercode 403 reagieren nativ
- 8. reagieren nativ: auswählbare Abschnitt Listenansicht gibt Fehler
- 9. Reagieren Nativ: Keine PropType für native prop
- 10. Reagieren Nativ: panresponder nativen Ereignisidentifizierer undefined
- 11. reagieren nativ: kann Variable nicht finden: definieren
- 12. Reagieren Nativ: Standard iOS-Gerät innerhalb Simulator
- 13. Reagieren Nativ: Befehl `Lauf ios` unerkannt
- 14. Linker-Befehl fehlgeschlagen mit Exit-Code 1 (Reagieren nativ - IOS)
- 15. Reagieren Native Android Webview Video
- 16. Reagieren D3: Wie react-d3-Tooltip und react-d3-Zoom in der gleichen Grafik verwenden?
- 17. Reagieren native App mit .setAcceptThirdPartyCookies
- 18. reagieren nativ - wie Thumbnail uri für Kamera Roll Videos
- 19. reagieren nativen Android Webview Trigger Klicks
- 20. Reagieren Nativ: Render verschiedene Arten von Zeilen in einer SwipeListView
- 21. Klicken Sie auf Ereignis in WebView Android Reagieren Native
- 22. Making D3-Diagramm reagieren in React app
- 23. setNativeProps ({step: num}) auf SliderIOS funktioniert nicht in reagieren Nativ
- 24. Reagieren Nativ: Strange Behaviour background in Listview in iphone6Plus läuft
- 25. Reagieren Einheimische und mit WebSockets
- 26. Wie kann man reagieren, um nativ auf den Fluss zu reagieren?
- 27. Deadlock mit GCD und WebView
- 28. So integrieren Sie die Module Requirejs, d3 und d3.slider
- 29. Router und React.rb Reagieren Mit
- 30. Verwendung von nativ mit Optimizely
Haben Sie eine Lösung gefunden? – sekogs
In diesem Moment müssen Sie Webview oder IOS/Android Komponenten verwenden. Nur ein Problem mit der Web-Ansicht ist, dass Sie nicht Bridging zwischen Webview sind native App, die saugt. –