如何从express.js发送数据以在没有API的情况下做出反应?

时间:2018-12-30 02:55:52

标签: javascript reactjs express

我想使用react and express创建一个多页APP。

我对如何在不使用API​​的情况下将快递发送的数据进行检索感到困惑。

我想知道react是否可以检索express发送的html道具中存储的数据? 也许这个问题有点奇怪。实际上,我从未创建过一个快递网站。我总是使用react和通过API检索数据并创建一个单页应用程序。

有什么办法吗?

3 个答案:

答案 0 :(得分:1)

反应和表达扮演着两个不同的角色。 React是您的前端。 Express是后端。 这些是逻辑上分离的层。将数据从后端加载到前端的首选方法是通过API调用。

答案 1 :(得分:0)

I wonder if react can retrieve the data stored in html props sent by express?

是的。我不确定“ html道具”是什么意思,但是当将html发送回前端时,您可以将所需的数据存储为数据属性,然后像这样将其从DOM中取出({{3 }})。

根据您打算如何使用它,您可以只提取一次数据或将其推入您的状态。

答案 2 :(得分:0)

我认为的第一种方法是使用url中的参数。

例如,如果您的网站具有类似http://localhost/的网址,而您将使用http://localhost/api/data?来接收来自express.js的数据。

然后在您的express.js中,在收到您的响应请求后,您可以使用:

res.redirect(http://localhost/api/${encodeURIComponent(JSON.stringify(data))})

其中res是响应对象,data是要发送到数据的数据,该数据被假定为对象。

react中,您可以按照以下步骤检索数据: -实现一个组件并将/api/data?设置为该组件的路由; -在组件中,以JSON.parse(decodeURIComponent(this.props.match.params.data))

检索数据