将Flash消息从Express传递到React组件

时间:2019-02-19 11:35:31

标签: reactjs express next.js

我想在重定向消息上传递Flash消息到React组件。重定向或应用程序正常运行,但无法收到消息。

这是我的设置

server.js

...
server.use(flash())
server.use((req, res, next) => {
  res.locals.error_msg = req.flash('error_msg')
  res.locals.messages = req.flash()
  next()
})

server.post('/register', (req, res) => {
    const { name, email, password, confirmPassword } = req.body
    ...
    User.findOne({ email: email })
        .then(user => {
            if(user){
                req.flash({ 'error_msg': 'already in use..' })
                res.redirect('/register')
...
})

server.get('/register', (req, res) => {
  return handle(req, res)
})

server.get('*', checkAuthentication, (req, res) => {
  return handle(req, res)
});

checkAuthenticationmongodb的用户检查均有效,并在出错时重定向,但实际上我不知道如何获取该Flash消息(当前代码全部来自文档)

我正试图通过这种方式获取消息。

register.js

import React from 'react'
import Link from 'next/link'
import Layout from '../components/Layout'

export default class register extends React.Component {
    render() {
        return (
            <Layout>
               <div>{message.text}</div>
             ...
             </Layout>
 )}}

谢谢..

0 个答案:

没有答案