将树枝与 react.js 集成

IT技术 php symfony reactjs twig
2021-05-26 23:51:56

我已经成功地用 php symphony 和它的 twig 模板系统构建了一个 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 %}

编辑由于我的项目的大小,在 React 中重新启动表单、表格和其他内容需要几个月的时间......所以我让我的 Symphony 应用程序将表单和表格 html 作为 JSON 字符串返回,我在 React 中处理表单就好像 JADE 内容一样...我希望这不会使安全威胁浮出水面,我也在问它是否太蹩脚。谢谢。

3个回答

简单地说,你不能很快做到。React 是一个前端 JS 框架。Twig 是一个前端模板引擎。虽然可以让它们一起工作,但从这种立场来处理您的项目是没有意义的。一起使用 Twig 和 React 类似于将螺丝刀放入螺丝中,然后用锤子敲打它。

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

请按照以下步骤操作

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

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

使用react树枝:

import ReactTwig from 'react-twig'

<ReactTwig template="Kittens say: {{ variable }}" data={{ variable: 'meow' }} />