Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在react express节点应用程序中将对象从服务器发送到客户端组件_Javascript_Node.js_Reactjs_Express - Fatal编程技术网

Javascript 如何在react express节点应用程序中将对象从服务器发送到客户端组件

Javascript 如何在react express节点应用程序中将对象从服务器发送到客户端组件,javascript,node.js,reactjs,express,Javascript,Node.js,Reactjs,Express,如何将JS对象从Express后端发送到客户端React组件 我可以通过在res.locals或cookies中设置简单变量来发送它们,但是对于较大的对象,我该如何做呢 不支持API,因为它会导致页面加载,然后请求会让用户在屏幕上等待。我的详细信息在服务器启动后立即可用 代码流程简介: 这是一个应用程序,在服务器端,如果我这样做 router.get('/',(req,res)=>res.render('index')), ejs在express config中被设置为查看引擎,它将把webpa

如何将JS对象从
Express
后端发送到客户端
React
组件

我可以通过在
res.locals
cookies
中设置简单变量来发送它们,但是对于较大的对象,我该如何做呢

不支持API,因为它会导致页面加载,然后请求会让用户在屏幕上等待。我的详细信息在服务器启动后立即可用

代码流程简介:

这是一个应用程序,在服务器端,如果我这样做

router.get('/',(req,res)=>res.render('index'))
,


ejs
在express config中被设置为查看引擎,它将把
webpack
绑定的react代码返回到浏览器。

通常建议公开API,以便react界面可以更新数据,例如,当用户导航页面时,无需重新加载整个页面。React的构建特别考虑了SPA,React的很大一部分用于管理页面结构的增量更新

但是,如果您希望在加载时向react页面提供一定数量的数据,您可以使用脚本标记和JSON传递它,如下所示:

在模板中:

<script>
  window._myInitialState = JSON.parse("{initialState|js|j|s}");
<script>
它应该将其JSON编码到以下脚本中:


window.\u myInitialState=JSON.parse(“{”用户\“:[{”名称\“:\”测试\“},{”名称\“:\”土司\“},{”名称\“:\”Foo \“},{”名称\“:\”酒吧\“}”);
在模板中有了它,您应该能够访问React代码中的
窗口。\u myInitialState
,例如,将其加载到根组件中,如下所示:

componentDidMount(){
this.setState(window.\u myInitialState);
}

你能举一个react代码和express代码的例子吗?JSON.stringify(obj)?嗨,我没有github链接作为内部项目,但我可以告诉你它是如何工作的。这是一个kraken应用程序,在服务器端,如果我这样做,
router.get('/',(req,res)=>res.render('index'))
ejs
在express config中设置为
查看引擎
,它将把
webpack
捆绑的react代码返回到浏览器。
    {
      users: [
        { name: "Test" },
        { name: "Toast" },
        { name: "Foo" },
        { name: "Bar" },
      ]
    }