2017-05-27 96 views
0

问题

如何每次将新数据加载到服务器时加载新数据?如何立即加载更改 - 反应原生

我想什么有发生

  • 用户打开应用程序
  • 用户上传文本服务器
  • 这个应用程序显示从服务器立即

什么正在发生的文本

  • 用户最多加载文本服务器
  • 用户重新加载应用程序
  • 这个应用程序显示从服务器文本

我使用expressJS服务器,然后我保存所有文字服务器端是服务器到达非现场猫鼬DB。

更多信息

  • 我使用

  • 我现在用的是获取API服务器和 客户端之间进行通信的节点JS服务器

  • 的客户端应用程序是书面阵营本地

回答

0

我不知道您的应用发出请求。来自服务器和客户端的一些代码将会很有用。但我能想到的两种可能的解决方案,为您的情况:

从上传请求

返回文本既然你需要服务器的响应AFTER用户上传文本到服务器,你可以在upload request使用response data。这里是一个示例代码:

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. 
}) 

用这种方法,用户不需要重新加载应用程序来获取新的文本数据。服务器响应上传请求后,您的应用将会更新。

的WebSocket

如果您从服务器所需要的数据不依赖于客户端请求时,您可以使用websockets。通过这种方式,您可以随时从服务器或其他客户端获取/发送任何数据。 React Native支持websockets。更多关于here

+0

谢谢你,但我想知道我是如何使应用程序总是听,我想它来获取新的数据,每次它的更新。即使该用途不是更新它的用户。 – pudility

+0

这就是为什么我提到websockets。每次更新数据时,使用websockets并向客户端发送消息。这就是websockets代表的原因。 – alix

+0

只需检查'socket.io'示例即可了解如何在服务器和客户端之间进行通信。这很简单。 @pudility – alix