我很难理解 ReactJs 中的一个基本概念。在我的应用程序中,它使用服务器端和客户端渲染,我有一个简单的模型,它由一个包含用户名的字符串字段组成:
function MemberStore(){
var member = null;
function getMember() {
return member;
}
return {
getMember: getMember
}
}
module.exports = new MemberStore();
此值在 cookie 中传递给服务器,并在以下期间更新到服务器上的模型中renderToString
:
ReactDom.renderToString(app({path: path, cookie: cookie}));
这很好用,并且页面会使用适当的用户名加载客户端。现在 - 在我的应用程序中,我有一个简单的logout
函数,它将模型中的用户名设置为 null 客户端并使传递给服务器的 cookie 过期。这又一次很好用,我的 ReactJs 组件在客户端重新渲染,用户名为空,并且 cookie 被删除。问题是,如果我在注销后立即重新加载页面,MemberStore
即使没有传入 cookie,服务器的模型仍使用用户名处于其原始状态。为什么即使在页面加载之后,服务器仍保留我之前会话的模型?在客户端进行更改后,我应该做些什么来将服务器上的模型与模型客户端同步?谢谢!