Javascript 如何在react express节点应用程序中将对象从服务器发送到客户端组件
如何将JS对象从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
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" },
]
}