使用 React 渲染来自 Express 的 Flash 消息

2024-05-17

我已经搜索了很多,但一直无法找到一种简单的方法来从 Express 获取 Flash 消息并在 React 中渲染它们。

我需要访问 Express 服务器上的数据,但是存储这些数据并将其传递给 React 的最佳方式是什么?我正在考虑传递一个对象,当 Reactindex.html文件已呈现,但我不确定如何访问此数据,或在发生某些事件(例如用户输入错误的密码)时发送正确的数据。


我解决了这个问题。

我的会话中有一个名为 flash 的变量,默认设置为 false。

在护照流程的正确部分中,我根据错误将其重新定义为字符串。我有一个 React 操作和减速器来获取这些数据,如果它是真的,则将其渲染到屏幕上。当组件卸载或刷新站点时,我将其重置为 false。

编辑:我找到了更好的解决方案

1. 在护照中间件中设置出现问题时的可选消息。

return done(null, false, { message: 'Email not found' });

2. 在login路由发送此信息作为响应。

router.post('/login', (req, res, next) => {

    passport.authenticate('local-login', (e, user, info) => {
        if(e) return next(e);
        if(info) return res.send(info);
        req.logIn(user, e => {
            if(e) return next(e);
            return res.send(user);
        });
    })(req, res, next);
});

3. 在 Redux 操作生成器中处理提交和响应。如果用户进行身份验证,则消息属性将是未定义的。

const res = await axios.post('/auth/login', { email, password });

dispatch({
    type: 'FLASH',
    payload: res.data.message
});

4. 在reducer中,状态要么是字符串,要么是false:

return action.payload || false;

5.接下来就是将状态渲染到屏幕上的问题了。当组件卸载以重置状态时,可以发送另一个操作。

希望这对其他人有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 React 渲染来自 Express 的 Flash 消息 的相关文章

随机推荐

  • 属性文件中的特殊字符

    在我的 Java Spring Web 应用程序中 我在打印从属性文件检索的意大利语特殊字符 等 时遇到问题 我找到了这篇文章http docs oracle com cd E26180 01 Platform 94 ATGProgGuid
  • 重命名多索引列名称Python

    我有一个如下所示的 MultiIndex Dataframe df Office Office x True 2 y False 3 z True 5 如果我重置 df reset index 它将错误为 cannot insert Off
  • 从 JSON 文件注入的编译指令 AngularJS

    希望有人能帮助我应对这一挑战 我使用以下命令从服务器请求 JSON 数据 http get 来自服务器的数据返回一个对象 对象中的一个值包含 HTML 标记 该标记使用以下方式注入到页面中 div div 在标记内 有一个名为的自定义指令
  • lambda 表达式的“类型”可以表达吗?

    将 lambda 表达式视为可调用对象的 语法糖 是否可以表达未命名的基础类型 一个例子 struct gt bool operator int l int r return l gt r Now int l int r return l
  • 使用 Mockito 模拟文件、FileReader 和 BufferedReader 类

    我在我想测试的方法中得到了下面的代码 File f map get key1 BuffereReader r new BufferedReader new FileReader f String line null do line r re
  • 如何确定 R 包的作者?

    如何确定包的作者是谁 鉴于我们拥有这个广泛使用的代码库 我认为参考我在分析中使用的软件是合适的 有没有办法以编程方式检索作者和任何其他相关信息 在伪代码中 我想执行以下操作 references base 我怎样才能做到这一点 为了能够引用
  • 在 Blazor 中读取和显示嵌套类/表中的数据的最佳方法是什么?

    主要目标 我正在创建一个 Blazor 应用程序 它将一次显示报告的一个段落 用户需要单击某个按钮才能转到报告的下一段 我需要创建一个数据库 其中包含段落 节标题和文档的表格 我的问题 我的问题与数据库部分以及如何从数据库读取数据的方式有关
  • sendResponse 不等待异步函数或 Promise 的解析[重复]

    这个问题在这里已经有答案了 我遇到了异步问题 我相信 sendResponse in 内容脚本 js不等待getThumbnails 回来 我正在发送一个message in popup js chrome tabs sendMessage
  • 压缩 zend Framework 2 的 html 输出

    我目前正在 PHP 5 4 4 上使用 Zend Framework 2 beta 开发个人 web 应用程序以用于自学目的 我想知道是否可以在 html 输出发送到浏览器之前拦截它 以便通过删除所有不必要的空格来缩小它 我怎样才能在ZF2
  • PostgreSQL 在递归查询中找到所有可能的组合(排列)

    输入是一个长度为 n 的数组 我需要生成数组元素的所有可能组合 包括输入数组中元素较少的所有组合 IN j A B C OUT k A AB AC ABC ACB B BA BC BAC BCA 随着重复 所以AB BA 我尝试过这样的事情
  • C# Mongo DeleteMany - 不使用类

    我在 MongoDB 中有一个普通的 不是 GridFS 集合 我需要访问和删除一些文档 我想 需要在不使用类的情况下执行此操作 昨天 今天尝试了一些事情 并在网上进行了很多搜索并尝试了很多事情 无法弄清楚为什么 deletemany 对我
  • 从 FilterControllerEvent 监听器重定向到另一个 Symfony 路由

    我正在尝试设置一个 kernel controller 侦听器 以便在函数返回 true 时重定向到另一个路由 我有可用的路线 但无法使用此路线设置控制器 event gt setController 我收到以下错误 FilterContr
  • Javafx 从 TextField 获取输入

    这是我当前的代码 它所做的只是为我制作的计算器设置一个 GUI 界面 我希望用户输入两个值 然后当按下 Sum 按钮时 它将两个值加在一起并将其显示在 Sum 文本字段中 我正在尝试使用 JavaFX 如果您能提供一些帮助 我将不胜感激 i
  • 如何获得 calc() 函数的无单位结果

    我正在使用此计算来获取网页中的流体行高 line height calc 1 42em 1 55 1 42 100vw 300px 1080 300 数学是工作属性 除非我改变font size特定部分 因为line height应使用无单
  • 为什么我们在 C 中使用 \r 和 \b ?

    我们为什么使用 r and b在C语言中 我知道 b使 hello world 变成 hellworld 但我们可以只写 hellworld 而不是 hello world 那么 它在程序中的作用是什么 This https stackov
  • 为什么 Xcode 不给文件名添加前缀?

    当我启动 iOS 单视图应用程序项目时 AppDelegate 文件和 ViewController 文件不再像以前那样以项目名称为前缀 当我打开一个新项目时 文件名如下 AppDelegate hAppDelegate m MainSto
  • 如何将属性(例如枚举)绑定到不同类型的组件属性(例如每个枚举的图像)?

    我继承了一个使用 JGoodies Binding 将域模型连接到 GUI 的项目 然而 我发现一些不一致的地方也会导致一些错误 在这个具体例子中 GUI 由两个单选按钮和一个标签表示 根据选择的按钮 标签应显示特定的图像 这些按钮绑定到不
  • 静态库中的单例类

    假设我在静态库中有一个单例类 S 它可以与其他动态库 D1 D2 D3 链接 因此 据我了解 类 S 在每个 D1 D2 和 D3 中都会有一个单独的实例 即使它不是单例 如全局 这也是正确的 有什么办法可以防止S类的多副本吗 我无法将单例
  • Laravel 5.1 中的VerifyCsrfToken.php 第 53 行:(Firefox 浏览器)中出现 TokenMismatchException?

    我试图找出为什么会出现这个错误 即使它是全新安装的 我在我的项目中遇到了这个错误 所以我用谷歌搜索 没有一个答案对我有用 所以我创建了新项目并复制了所有控制器 视图和模型 几个小时后工作正常 再次出现令牌不匹配错误 为什么在 laravel
  • 使用 React 渲染来自 Express 的 Flash 消息

    我已经搜索了很多 但一直无法找到一种简单的方法来从 Express 获取 Flash 消息并在 React 中渲染它们 我需要访问 Express 服务器上的数据 但是存储这些数据并将其传递给 React 的最佳方式是什么 我正在考虑传递一