javascript - Wordpress - Gutenberg - 动态块 - 我可以完全避免 PHP 并完全使用 React 吗?
问题描述
最近我创建了一个 Sanity.io - Gatsby.js 项目。我正在做的当前项目是一个 Wordpress 网站。现在,我第一次在自定义 Gutenberg Block 上工作,很高兴发现其中很大一部分是用 Javascript 编写的。
我很高兴开始更多地了解这一点。但很快我发现,Gutenberg 在涉及到动态内容时,会立即通过回调跳回 PHP。从那里开始,很好,php。
所以这让我想知道。有没有办法避免在古腾堡块中使用 PHP?并使用 React 功能组件。作为一个“简单”的学习项目,我想创建以下内容。
- 使用前端和后端过滤器创建 Gutenberg 动态块 Post Grid
- 初始化块后没有PHP
- 在后端/编辑中选择帖子项目金额和偏移量(跳过第一个 x 金额)(当您知道这一点时,您可以过滤更多案例)
- 在前端过滤类别的(下拉)过滤器(如果您知道这一点,您可以通过其他方式更改查询)
想法
- 我想 WP 的 REST API 最好从中查询。
- GraphQL 用于查询?(还是 GROQ?)
- 转向 React 会让你的区块更加面向未来/准备好了吗?(未来当然是相对的)
- 如果您以后将前端转换为实时或静态的 React Web 应用程序,这种方法会对您有好处吗?因为它已经完全是 JS。
- 这种方法有缺点吗?
现在,我不希望你们给我写一个块:) 但是任何指针/教程/已知的 (git) 项目都非常受欢迎。
解决方案
到目前为止,不,你不能在没有 PHP 的情况下纯粹在 React 中编写动态 Gutenberg 块。链接的问题非常详细地说明了为什么您必须至少使用一些 PHP ,以及人们为尽量减少重复 PHP 和 JS 而采取的各种方法。
推荐阅读
- json - 如何使用 curl 发布文件,替换环境变量
- java - 在另一个活动中访问 Spinner
- c# - 从 C# 中的多个列表中获取索引
- python - 使用梯形规则计算误差函数,erf(x)
- google-colaboratory - 如果您使用 google colab,如何在电报上设置 rasa 聊天机器人?
- javascript - 如何使用 AJAX 在 csv 中发送表单数据和文件?
- c++ - 在使用 MPI 和 C++ 进行广播后,如何对二维数组求和?
- javascript - Google Drive API 将 blob 从 json 提取到 javascript
- django - 我们是否需要在 django 请求中明确关闭会话?
- c# - C# 最小值和最大值