我已经建立了几页我的应用程序。由于我需要一个javascript框架和第二个动态页面,我想我会尝试React / Flux。
尽管有很多阅读内容,但我不能完全理解你是否可以保留我的EXISTING代码库(html / js),并且只在网页的某些需要与之交互的块上使用React(jsx,modules)数据库/动态实现?
让我们举一个例子: 我的页面有很多东西:bootstrap我调整了很多(用css),实际上是在场景javascript / DOM ex用于下拉列表,以及其他东西),respond.js用于在ie8上启用媒体查询(使用我的猜测) DOM),以及许多第三方工具,如intercom.io甚至谷歌分析js跟踪窗口底部的窗口。 你可以在这里看到页面的样子。
我的需求:我只需要块(D)上的动态调整和实时功能,所有其他功能,标题(B),内部通信(C)以及其余部分可以保持原样,它可以节省一些如果我可以将它们保存在当前的html代码中,那就太多了。
所以这是我的问题:
(1)我是否必须在页面上转换所有反应或只放入jsx /反应块(D)并保持其余部分原样?
与(1)相关我想利用React(虚拟DOM和差异)带来的主要优势,如果整个页面不在React上,我仍然可以使用它吗?
如果答案基本上是"它全部或全部,你必须全部反应jsx并重做你的整个页面",转换你的HTML和找到使用DOM的所有js脚本的替代品,如下拉列表,灯箱,intercom.io脚本,谷歌分析脚本,那么难吗?我是说还是可以保留css并使用它来更改html http://facebook.github.io/react/html-jsx.html?这真的很容易,但我担心这里有一个问题... :)
答案 0 :(得分:1)
我是React的新手,但是根据我收集的内容,您可以根据需要使用React代码。您不必重新编写整个应用程序。这包括能够在您需要的地方使用您概述的功能。
答案 1 :(得分:1)
就应用程序的视图层而言,一切都可以通过React完成 (是的反应可以做你需要的一切)
我建议的第一件事是前往文档的反应网站,使用 Google &amp ;;做一些教程。 YouTube然后开始重新构建您的应用程序,反应但不完全。 (使用JSX)。
因为您现在了解React如何工作以及如何使用道具和状态,您可能最终会同时合并您应用的片段。
最重要的考虑因素是背景。 React只是Javascript,因此您可以绑定,调用和应用现有应用程序中的任何对象。
var blockA = React.createClass~
blockB = React.createClass~
blockC = React.createClass~
blockD = React.createClass~
React只是组件,每个块都是一个组件。
但我不能强调更多,理解反应的基本原则,它根本不难。
编辑...
是使用JSX我认为它最初是愚蠢的,但它非常棒!
使用DOM操作它可以全部或全部。 React使用其DOM副本来更快地操作实际DOM。对于没有触及DOM的部分代码,它不会在React中产生巨大的差异,但React通过将状态更改传递给其组件的子项来实现漂亮的工作流程。真的,它取决于你但是如果你正在使用React做所有DOM的反应。你尝试做的70%以上可能是DOM操作。
我的建议总的来说,不要过多考虑如何"硬"这将是。想想你可以多快地学习基础知识。它很容易掌握。