将Twig与react.js集成

Ade*_*ayo 1 php symfony twig reactjs

我已经使用php symphony及其树枝模板系统成功构建了一个webapp,但是现在需求已更改,我必须使用node react.js。我已经阅读了一些关于react.js的文档,但是在严格的时间范围内,我仍然迷失于最佳方法。即使在高级方面,也对我如何安全,快速地完成此操作的任何帮助表示赞赏。有人如何在这样的模板中实现react.js?

{% extends 'admin/base.html.twig' %}
{% block content %}
Fill This form
{{ form(form, {'attr': {'novalidate': 'novalidate'}}) }}
{{ form_start(form) }}
{{ form_widget(form) }}
    <input type="hidden" name="token" value="{{ csrf_token('action') }}" />
{{ form_end(form) }}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

编辑由于我的项目的大小,在react中重新启动表单,表格和其他内容会花费几个月的时间...因此,我使我的交响乐应用程序将表单和表格html返回为JSON字符串,并且像在JADE中一样处理React中的表单……我希望这不会浮出水面,而且我还问它是否太la脚。谢谢。

Aur*_*a W 7

简而言之,你不能很快做到。React是一个前端JS框架。Twig是一个前端模板引擎。尽管可以使他们一起工作,但从这种立场出发去进行项目是没有意义的。一起使用Twig和React就像是将螺丝刀放在螺丝上,然后用锤子敲打它。

用React完全替代Twig的用法会更有意义。

  • 我不确定大型项目如何使纯React与Twig / React混合使用不合格。Facebook可能比您的项目更大。从长远来看,将Twig和React混合在一起只是在问问题。 (3认同)

Aki*_*zri 5

请按照以下步骤操作

  1. 创建普通路由器的 api 路由器版本
  2. 将 Router /api 重定向到路由器
  3. 将 api 详细定义中的 _format 默认参数设置为 json
  4. 构建您的 ReactJS 以使用 Json 与您的服务器进行通信

以上是我遇到同样问题时的应急处理步骤,但后来我还是经过了严格的后期全部转换工作,因为我的json里面都是html标签。它在时间上有所帮助,它让我有机会争取时间