我有一个现有的登录,我想进入一个src反应组件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我有一个现有的登录,我想进入一个src反应组件相关的知识,希望对你有一定的参考价值。

我正在制作一个需要登录的应用程序(在下面的代码中)。我试图重构一个react组件,所以我可以在路由中使用(login - > app body)。没有关于vss的问题,但在npm开始后遇到问题。

TypeError:无法分配给对象'#'的只读属性'exports'

import React from "react";

class DynamicLogin extends React.Component {
  render() {
    return (module.exports = (app, passport) => {
      app.get("/", function(req, res) {
        res.render("index.ejs");
      });

      app.get("/login", function(req, res) {
        res.render("login.ejs", { message: req.flash("loginMessage") });
      });

      app.post(
        "/login",
        passport.authenticate("local-login", {
          successRedirect: "/profile",
          failureRedirect: "/login",
          failureFlash: true
        }),
        function(req, res) {
          if (req.body.remember) {
            req.session.cookie.maxAge = 1000 * 60 * 3;
          } else {
            req.session.cookie.expires = false;
          }
          res.redirect("/");
        }
      );

      app.get("/signup", function(req, res) {
        res.render("signup.ejs", { message: req.flash("signupMessage") });
      });

      app.post(
        "/signup",
        passport.authenticate("local-signup", {
          successRedirect: "/profile",
          failureRedirect: "/signup",
          failureFlash: true
        })
      );

      app.get("/profile", isLoggedIn, function(req, res) {
        res.render("profile.ejs", {
          user: req.user
        });
      });

      app.get("/logout", function(req, res) {
        req.logout();
        res.redirect("/");
      });
    });

    function isLoggedIn(req, res, next) {
      if (req.isAuthenticated()) return next();

      res.redirect("/");
    }
  }
}

export default DynamicLogin;
答案

欢迎来到stackoverflow。从我可以看到你正试图将你的EJS视图转换为反应组件。不幸的是,在React语法中包装现有的EJS代码并不简单。 React不支持你使用的逻辑,比如你通常在EJS中看到的module.exports和req / res.render。而不是EJS视图,React使用的是JSX,它与EJS类似,但与EJS不同。我建议查看Andrew Mead的React课程,以了解有关React功能的更多信息:https://www.udemy.com/react-2nd-edition/

否则,您尝试在上面集成的代码与React之间没有直接连接。

以上是关于我有一个现有的登录,我想进入一个src反应组件的主要内容,如果未能解决你的问题,请参考以下文章

使用反应渲染时如何访问现有的 dom 元素?

如何传递“参数”来反应组件

如果我更新了一个反应模块,使得现有的代码功能但 Jest 快照测试可能会中断,那应该是主要版本的碰撞吗?

使用图像的 SRC 将子级传递给父级时出现问题。反应 JS

如何从另一个组件显示反应引导模式[重复]

反应:停止映射组件的重新渲染