2017-05-27 13 views
0

Frage

Wie lade ich neue Daten jedes Mal, wenn es auf dem Server hinzugefügt wird? So laden Sie Änderungen sofort - Reagieren Sie Native

Was ich möchte passieren haben

  • Benutzer öffnet App
  • Börse Text Server
  • Die App zeigt den Text vom Server sofort

Was zur Zeit geschieht,

  • Benutzer auf Lasten Text Server
  • Benutzer nachlädt App
  • Die App den Text aus dem Server zeigen

Server Side

ich Express.js für den Server verwenden und dann die gesamten Text Ich spare, dass Der Server kommt zu einer externen Mungo-DB.

Mehr Infos

  • ich einen Knoten JS Server bin mit

  • ich die API zwischen dem Server und dem Client

  • Die Client-Anwendung zu kommunizieren holen verwende ist geschrieben mit React Native

Antwort

0

Ich weiß nicht, wie Ihre App Anfragen stellt. Irgendein Code von sowohl dem Server als auch dem Client wäre nützlich. Aber ich kann mir zwei mögliche Lösungen für Ihre Situation:

Ihren Text von Upload-Anfrage zurück

Da Sie Server-Antwort AFTER Börse Text-Server benötigen, können Sie response data innerhalb upload request verwenden können. Hier ist ein Beispiel-Code:

fetch('https://your-server.com/api/upload-text/', { 
    method: 'POST', 
    headers: { 
    'Accept': 'application/json', 
    'Content-Type': 'application/json', 
    }, 
    body: JSON.stringify({ 
    text: 'yourValue', 
    }) 
}).then(response => response.json()) 
.then(responseJson => { 
    // Here is your text returned from server 
    let serverText = responseJson.text 

    // Set your state here with new data 
    this.setState({ 
    textFromServer: serverText 
    }); 
    // Now you can display new data in your render method. 
}) 

Mit dieser Art und Weise, Benutzer brauchen nicht auf die App laden neue Textdaten zu holen. Ihre App wird aktualisiert, nachdem der Server auf die Upload-Anfrage reagiert hat.

WebSocket

Wenn die Daten, die Sie vom Server müssen auf einer Client-Anforderung nicht abhängig ist, können Sie websockets verwenden. Auf diese Weise können Sie jederzeit Daten vom Server oder von anderen Clients abrufen/senden. React Native unterstützt websockets. Mehr auf here

+0

Vielen Dank, aber ich frage mich, wie ich die App immer zu hören, ich möchte es die neuen Daten jedes Mal holen, wenn es aktualisiert wird. Auch wenn diese Verwendung nicht diejenige ist, die sie aktualisiert. – pudility

+0

Deshalb habe ich Websockets erwähnt. Verwenden Sie websockets und senden Sie eine Nachricht an den Client jedes Mal, wenn Daten aktualisiert werden. Deshalb stehen Websockets dafür. – alix

+0

Überprüfen Sie 'socket.io' Beispiele, um zu sehen, wie Sie zwischen Server und Client kommunizieren. es ist ziemlich einfach. @pudility – alix

Verwandte Themen