繁体   English   中英

从模块返回数据以在React页面中呈现

[英]Return data from modules to render in react page

我有以下项目结构:

  • 项目
    • 客户
    • 机器人
    • node_modules
    • index.js

档案:

  • 客户端包含GatsbyJS(反应)
  • Bot包含要执行特定任务的所有模块
  • Index.js是我的expressjs服务器

我已经在它们之间建立了联系,我的问题是,我想从我的机器人模块中的每个模块中检索特定的响应,即:

async function login(page) {
  await page.goto(LOGIN_PAGE);
  await page.waitFor("#loginForm");
  await page.type(NAME, "USER");
  await page.type(PW, "PASSWORD");
  await page.click(SUBMIT);

  var Data = [
    ...document.querySelectorAll(
    "#data"
    )
  ];
}

我想以以下方式呈现var数据:

反应文件:

import React from "react"

const Header = () => (

  <div className="header-content">
    HERE
  </div>

)

在我的index.js(Express服务器)中,直接呈现gatsby生成的index.html:

app.get("/home", (req, res) => {
  res.sendFile(path.join(__dirname, "/client/public/index.html"));
});

是否可以通过这种方式传递数据,或者还有其他正确且可能的方式来传递数据?

我不太了解Express如何与react协同工作,感谢您的阅读。

问候,路易斯。

也许您可以使用以下选项。

  1. 使用sessionStorage,localStorage甚至cookie将数据传递到客户端
  2. 使用像ejs这样的模板,或者使用您自己的自定义html而不是生成的gatsby,并将数据嵌入到脚本标签中。
  3. 也许可以通过在服务器端提供值来使用react上下文(未经测试)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM