今天做做博客的时候,想到有权限的问题。第一瞬间就是想用ejs(服务端模板引擎)返回一个字段(从session里面取的),然后在路由的jsx里面用mapStateToProps(){//这里面判断变量是否存在,如果存在对应的菜单展示}
app.get('*', function (req, res) { // Post.get(null, function (err, posts) { // if (err) { // posts = []; // } // }); console.log('**************************') res.render('index', { title: '主页', user: req.session.user, success: req.flash('success').toString(), error: req.flash('error').toString(), env : 'development', pageAuthor:['01','02','03'].toString() }); // res.renderToString('index',{ // // }) });
function mapStateToProps(state) { let routerState = 2; if (document.getElementById('user').value){ routerState = 1 } return { routerState : routerState } }export default connect(mapStateToProps)(Main)
但是并没有得到想要的效果。必须要刷新页面变量才会出现.
我的理解是ejs必须要服务器解析后才能返回给浏览器解析.
但是我用的是react-router单页面刷新。
希望有大神给出解决方案,如果有其他更好的解决方案也可以提出~~
谢谢~~
扬帆大鱼
相关分类