RactiveJS与JSX兼容吗?
我猜有些标记是不兼容的。我喜欢强输入和能够干净地在JavaScript源代码中编写模板的想法。也许这被认为是糟糕的设计?
发布于 2013-12-25 05:14:14
不是的。React.js和Ractive.js有许多相似之处(例如,它们都是通过在内存中构造一个轻量级虚拟DOM来工作的),但是它们有一个非常大的区别--完全拒绝模板的概念。
也就是说,JSX不是一种模板语言,它看起来就像一种!如果你有这样的反应..。
<h1>Hello world!</h1>JSX预处理程序将...it转换成这样的东西:
React.DOM.h1(null, 'Hello world!');换句话说,JSX描述的是函数,而不是模板。相比之下,在RActive中,胡子模板被解析为树状结构,可以以JSON的形式传输。
现在,在这个例子中,真正重要的是原始字符串经过什么过程--它仍然会在某个浏览器中作为<h1>元素结束。但是,当您开始引入任意的JavaScript (指this.state和this.props )时,它会变得更加困难--这些东西可以在Ractive中改变组件的基本结构,但在Ractive中没有任何意义。
Ractive将来可能支持除了胡子之外的模板语言,但JSX不太可能成为其中之一,因为它们有如此不同的方法和设计目标。
然而,这里有一个相关的问题,就是能够在一个文件中完整地描述组件。这里出现了一些正在进行的工作 --最有可能的情况是,我们将能够描述.html文件中的组件(因为您可以在.js文件中使用JavaScript和CSS ),而不是将模板写入.js文件。
https://stackoverflow.com/questions/20737863
复制相似问题