xstate - 如何使用 xstate 建模多个页面
问题描述
我正在尝试使用 xstate 构建一个真实世界的应用程序,但在为应用程序启动建模时遇到了麻烦。
用户可以通过键入www.ex.com进入应用程序开始进入主页,但用户也可以进入应用程序www.ex.com/any-page
有人可以举一个具有多个页面的建模应用程序示例吗
用户可以在登录页面或主页上未经身份验证,但不是安全页面
或者
用户可以通过身份验证并在任何页面上
我希望每个页面都有自己的状态,这就是提示问题的原因。
解决方案
我希望每个页面都有自己的状态,这就是提示问题的原因。
不要那样想;至少一开始不是。使用数据优先的方法,例如在此示例中:https ://codesandbox.io/s/xstate-react-back-example-4q2vh
原因是每个页面不一定是“有限状态”——它只是数据,并且是同一状态的所有部分(例如,“查看页面”)。考虑有限状态的最佳方式是作为应用程序在任何给定时间的行为。更改页面时行为是否会发生变化?可能不是,所以使用context
而不是有限状态。
推荐阅读
- java - Apache POI 将单元格转换为 int
- bash - 使用 aws cli 为每个 ecs 集群获取 ecs 服务
- docker - 无法在heroku中发布推送的docker镜像
- javascript - 带链接的 Div 内的 VueJS 按钮也会触发 href 链接
- express - Next.js 有 express.js 还是没有 express.js?
- .net - vb.net 已用时间和剩余时间根据进度条值
- c# - AllowAnonymous 属性在 Asp.net Core 2.2 Web API 中不起作用
- python - 在消息中发送已经序列化的消息
- c++ - 静态函数与静态成员函数 C++
- java - Android ListView 将文本添加到行尾