因为我们将有许多巨大的组件,所有这些组件都扮演着非常重要的角色,并且内部有复杂的逻辑,而且我们希望它们易于插拔和可重用,因此我们希望它们尽可能与外部世界和我们应用程序的其他部分隔离开来,否则由于它们的大小和复杂功能,它们的开发和维护几乎是不可能的。这就是为什么我们决定在开发单独的组件本身时,至少在开始阶段,不使用Redux的原因,因为它会牺牲组件隔离性,并且当存在如此多的复杂组件时,会使整个应用程序数据流逻辑变得难以理解。尽管我认为我们的选择可能是错误的,因为正如我已经提到的,我们没有使用React的经验。
正如我已经提到的,该应用程序非常动态。我的意思是组件实际上是通过数据渲染的。我们使用各种配置提供程序类与我们的API端点交互,以获取应用程序配置的各个部分,如导航、页面、各种表单、列表等配置,然后尝试从该配置中读取组件进行渲染。
问题是,在经过几周的努力来学习React并发现解决我们问题的正确模式和通用解决方案之后,我们开始在团队中讨论,也许React不是适合我们的正确技术,因为它只是一个UI库,而不是框架,并且它并没有帮助我们很多,只是添加了一些渲染规则,有时我们必须打破这些规则以实现我们想要的动态性和组件独立性。
考虑到组件隔离和数据流管理,我个人听说了一种面向前端开发的语言Elm,其中具有相当强大的数据流架构,每个组件都有其自己的模型是独立于其他组件的,但我不知道是否值得一试,因为它可能很快就无法满足我们的大需求。我写这个问题的原因是希望从有丰富前端应用开发经验的人那里获得见解。我想知道是否可以使用React开发这样的应用程序,React是否适合处理如此复杂和动态的内容,我们是否真的需要Redux或其他什么东西,以及我们应该遵循什么路线、实践和思想。如果你正确理解了我的问题,那么我们所困扰的更多是架构方面,而不是技术方面。也许我们只是走了一条通向更多挣扎和复杂性而非生产力的道路。