我在 ReactJS 中发现了一个我认为的严重缺陷。虽然我承认这个缺陷可能是我理解的一个缺陷:) 我正在尝试构建一个简单的 Todo 应用程序(使用 TodoMVC),当你尝试使用 Redux 之类的东西进行状态管理时,你会遇到非常非常棘手的问题尝试处理嵌套 JSON 时,即通常包含与父节点相关的父节点(“projects”>,然后是子节点“todos”)的数据库响应。
Redux 似乎希望您将响应中的数据“标准化”,因此它是不可变的。不要让任何人感到不安,但这似乎是宇宙中最荒谬的事情。因此,我们构建了一个 SPA 应用程序来处理来自我们数据的 json 响应......然后......哦等等,我们必须在客户端上构建一个 ORM 来将所有这些数据转换为不同的格式来处理它。
如果这是 React、Redux 等的状态(抱歉,没有双关语),应该放弃 Javascript 框架。我在 20 分钟内在 Rails 中构建了一些东西。当然它不是 SPA,但是创建这个 MVC 结构很简单……不仅在 React 中看起来非常困难、毛茸茸和过于复杂,当添加 Redux 时,它就进入了荒谬的领域。也许这就是为什么我们只看到包含所有这些工具的非常非常简单的教程......用它们构建大型应用程序是不可能的。
所以基本上,在尝试用 react 和 redux 编写上面这个例子的简单几行代码时,我被引导到这个:
https://redux.js.org/recipes/structuring-reducers/normalizing-state-shape
有人可以证明我错了吗?请。只是一个简单的代码笔,向我展示了您可以拥有一个父“项目”组件,您可以将“待办事项”添加为子组件,并能够制作多个父组件,而无需进入上面的兔子洞。
如果这是真的,我认为这是一个严重的缺陷。一个炫耀。