3

我已经构建了我的应用程序的几页。由于我需要一个 javascript 框架和亚秒级动态页面,我想我会尝试 React/Flux。

事情是尽管阅读了很多,我不完全理解你是否可以保留我现有的代码库(html/js)并且只在需要与数据库/动态实现交互的网页的某些块上使用 React(jsx,模块)?

举个例子:我的页面有很多东西:bootstrap 我调整了很多(使用 css),实际上在幕后使用 javascript/DOM ex 用于下拉菜单和其他东西),respond.js 用于启用媒体查询ie8(使用我猜是 DOM),以及许多第三方工具,如 intercom.io 甚至是我屏幕底部的谷歌分析 js 跟踪窗口。你可以在这里看到页面的样子。

在此处输入图像描述

我的需要:我只需要块(D)的动态调整和实时功能,所有其他的,标题(B),对讲机(C),其余的可以保持原样,如果我可以将它们保留在当前的 html 代码中。

所以这是我的问题:

  • (1)我必须在反应页面上转换所有内容还是只放入 jsx/react 块(D)并保持其余部分不变?

  • 与 (1) 我想利用 React 带来的主要优势(虚拟 DOM 和差异),即使整个页面不在 React 上,我仍然可以使用它吗?

  • 如果答案基本上是“全有或全无,您必须在 react jsx 中全部完成并重做整个页面”,转换您的 html 并找到所有使用 DOM 的 js 脚本的替代方案,例如下拉菜单、灯箱,intercom.io 脚本,谷歌分析脚本那么难吗?我的意思是或者我可以保留 css 并使用它来更改 html http://facebook.github.io/react/html-jsx.html吗?这真的很容易,但我担心这里有一个问题...... :)

4

2 回答 2

1

我是 React 的新手,但根据我收集到的内容,您可以根据需要添加 React 代码。您不必重新编写整个应用程序。这包括在任何需要的地方使用您概述的功能的能力。

于 2015-03-03T17:00:58.707 回答
1

就应用程序的视图层而言,一切都可以使用 React 完成 (是的,React 可以完成您需要的一切)

我建议的第一件事是前往 react 站点获取文档,使用Google和 YouTube 做一些教程,然后开始使用 react 重新构建您的应用程序,但不完全是。(使用 JSX)。

因为您现在了解了 React 的工作原理以及如何使用道具和状态,所以您最终可能会一次合并应用程序的片段。

要考虑的最重要的事情是上下文。React 只是 Javascript,因此您可以绑定、调用和应用现有应用程序中的任何对象。

var blockA = React.createClass~
    blockB = React.createClass~
    blockC = React.createClass~
    blockD = React.createClass~

React 只是组件,每个块都是一个组件。

但是我不能再强调了,了解react的基本原理,一点都不难。

编辑...

是的,使用 JSX 我最初认为它很愚蠢,但它非常棒!

使用 DOM 操作,要么全有,要么全无。React 使用它的 DOM 副本来更快地操作实际的 DOM。对于不接触 DOM 的部分代码,它不会在 React 中产生巨大的差异,但 React 通过将状态更改传递给其组件的子组件,具有漂亮的工作流程。真的这取决于你,但如果你使用 React 做所有的 DOM 事情。您尝试做的 70+% 可能是 DOM 操作。

总的来说,我的建议是,不要过多考虑它会有多“难”。想想你能多快学习基础知识。这很容易掌握。

于 2015-03-03T17:14:51.760 回答