zhangyuang / ssr

A most advanced ssr framework support React17/React18/Vue2/Vue3 on Earth that implemented serverless-side render specification.
http://doc.ssr-fc.com/
MIT License
2.61k stars 284 forks source link

如何在非函数组件外向store存储数组 #120

Closed wuyiifan closed 3 years ago

wuyiifan commented 3 years ago

详细描述你的问题

现在的场景是在token过期后直接在当前页面弹出登录框,获取到服务端的401状态来弹出登录。但是考虑此情景会在服务端和客户端发生。 目前想到的方案是:获取到401状态后向store内存注入状态,然后展示登录框。但是在非组件内向store注入数据貌似不可行。

你有什么好的解决方案么。

期望的结果

在组件外的环境里可以向store注入数据。

当前使用的版本

├─ ssr-client-utils@5.6.24
├─ ssr-core-react@5.6.25
├─ ssr-hoc-react@5.6.24
├─ ssr-plugin-midway@5.6.25
├─ ssr-plugin-react@5.6.25
├─ ssr-server-utils@5.6.25
├─ ssr-types-react@5.6.24
├─ ssr-types@5.6.24
├─ ssr-webpack@5.6.25
├─ ssr-window@3.0.0
├─ ssr@5.6.25
├─ ssri@7.1.1
└─ webpack@4.46.0
   └─ ssri@6.0.2

复现仓库地址

超过一行代码能描述的问题必须提供复现地址, 用默认的 example 给最简单的复现代码不要给包含着一堆业务代码的仓库

你本人对问题可能的原因判断(如果你能大概判断的话)

zhangyuang commented 3 years ago

这跟ssr没有任何关系。。是基础的react/vue问题。

如何在非函数组件外向store存储数组:不可以 token过期后直接在当前页面弹出登录框:有很多方案可以实现这个功能,自己多想想

wuyiifan commented 3 years ago

这跟ssr没有任何关系。。是基础的react/vue问题。

如何在非函数组件外向store存储数组:不可以 token过期后直接在当前页面弹出登录框:有很多方案可以实现这个功能,自己多想想

想了半天没有好的思路。 大佬提供个思路呗

zhangyuang commented 3 years ago

弹窗组件控制自己的状态如果你是实时就用轮询/socket。不然就请求后自己去更新状态,最简单就是重定向到登陆页