reactjs - 纯减速器和画布上下文?
问题描述
我正在创建一个 MS Paint 副本。在搞砸了一周的 React 状态之后,我想使用 Redux。我想到的问题是:我怎样才能将一个必须是纯的 reducer 与一个基本上有自己状态的画布上下文(在上面绘制什么)配对?我在这里看到两个选项:
每次状态更改时我是否需要重新创建画布上下文?如果是这样,我确实认为这确实是多余的做法。
或者我可以像往常一样只携带状态之间的上下文并使用它的方法来绘制减速器吗?但这使我的减速器不纯,据我所知。
谢谢你。
解决方案
我假设画布上下文不能轻易序列化,并且它不是应用程序状态的“事实来源”(而是由本机浏览器 api 创建的对象)。因此,我只会使用 redux 来获得撤消/时间旅行功能。你的 reducer 只会保存绘制动作的历史。在空白画布上重播这些内容应该可以恢复应用程序的状态。
推荐阅读
- python - 如何使用 python 将列表理解结果传递到 csv
- docker - 2 个端口用于 1 个 Ingres / services / statefulsets / pods
- javascript - 有谁知道为什么我的所有元素都呈现在一个列中,就好像它是
? - ssh - 如何使编译的 Fortran 代码在不同的计算机上工作?
- python - 如何避免 SMOTE 功能名称不匹配?
- r - R 有人能告诉我这个正则表达式的每一部分是什么吗?
- mysql - 使用多个连接格式化 RIGHT JOIN 查询
- java - 变量名与函数相同的getter和setter问题
- c# - 实体框架和同表外键
- vmware - 如何使用 pyvmomi API 在虚拟机上重新启动网络接口而不是完整的机器重新启动/重置