我正在计划一个简单的CRUD/reports应用程序,具有以下特性:
我在这里试图实现的是完全消除客户端与服务器对话的编程。为了实现这一点,我想使用以下堆栈:
我想要避免的是:
应用程序更多的是关于各种报表和输入表单的数量,而不是它们的复杂性。
因此,这里的目标是尽可能快地编写表单和报告,并声明它需要/变异哪些数据,因此除了声明数据客户端之外,服务器端没有任何冗余的编码。
对于此应用程序,完全可以在以下情况下重新加载整个页面:
换句话说,我正在研究一种制作类似PHP的经典CRUD应用程序的方法,但只使用客户端JS。
我希望所有这些都可以通过使用React来构建UI、Redux (如果页面只是重新加载的话,我会需要它吗?)、React路由来管理URL路由以及GraphQL作为从客户端查询数据库的一种方式,而不需要使用GraphQL的高级特性(片段、缓存、乐观更新等等)。
为了说明清楚,大部分业务逻辑都在报表(复杂的SQL查询)中,而不是在GUI中。
我也看过代码生成器,但我不想将自己锁在其中。我也见过Postgres表单项目,但它似乎不再被积极开发和支持。
发布于 2016-07-12 17:52:52
如果您的目标是以非常简单的方式将GraphQL数据添加到您的UI中,那么我将尝试一下apollo-client和react-apollo (免责声明:我是这个包的主要作者)。使用组件将查询附加到组件,然后通过道具获取查询并传递给组件。
您不需要设置任何构建过程或工具来使用它,而且它与React路由器根本没有冲突。
最简单的事情可能就是看看这个全堆栈示例应用程序,它有您提到的所有特性--简单的数据获取和编辑:https://github.com/apollostack/GitHunt (只需查看一些组件的ui文件夹)。
文件全文如下:
https://stackoverflow.com/questions/38318449
复制相似问题