Libraries vs Pure Javascript
Libraries vs Pure Javascript
我正在研究React,并试图了解使用此库与使用纯HTML和javascript相比有什么好处。因此,在教程中,他们提供了一个简单的例子:
var CommentBox = React.createClass({
render: function() {
return (
<div className="commentBox">
<h1>Comments</h1>
<CommentList />
<CommentForm />
</div>
);
}
});
var CommentList = React.createClass({
render: function() {
return (
<div className="commentList">
Hello, world! I am a CommentList.
</div>
);
}
});
var CommentForm = React.createClass({
render: function() {
return (
<div className="commentForm">
Hello, world! I am a CommentForm.
</div>
);
}
});
ReactDOM.render(
<CommentBox />,
document.getElementById('container')
);
https://jsfiddle.net/znibble/mvf6vr9k/
它创建了3个元素。上面的所有代码,只是为了创建一个本质上是遗留HTML!!??:
<div id="commentBox">
<h1>Comments</h1>
<input>CommentList</input>
<form>CommentForm </form>
</div>
所以我真的在问自己,拥有/使用这样一个图书馆的真正好处是什么?。。。它不像使用简单的jQuery:
var div = $("<div id="commentBox"></div>");
$("#commentBox").append(h1).(input).(form)....//or something like that
有些人可能会说,随着遗留的HTML代码变得越来越大,通过脚本进行控制变得越来越困难。我发现这不是真的,因为var el = document.getElementById()
为您提供了所需的所有脚本控制。
所以我的问题是,像React这样的库的真实情况是什么?它真正提供了什么好处?。。。因为少写代码不是其中之一,正如您在上面看到的那样!
请发表意见。好的、坏的或漠不关心的,都是受欢迎的。
*注意:我说的不是react native(不同)*
老实说,我喜欢尽可能使用香草(纯)javascript。然而,你应该根据你在当前项目中打算做的事情来选择应该使用哪个框架或不使用哪个框架。
如果我的项目需要以下内容,我会选择反应:
-
大型应用程序(使用react,您可以使用小型模块并重用它们,因此更容易维护这些组件并对其进行单元测试等)
-
数据绑定(只需简单地表达您的应用程序在任何给定时间点的外观,当您的基础数据发生变化时,React将自动管理所有UI更新。)
对于大型项目或实时应用程序,使用react可以获得大量功能和优化。你之所以选择这样做,是因为在实时应用程序中,你必须编写代码,自动将数据绑定到视图,具有良好的结构等。react以一种非常高效和经过测试的方法和代码为你提供了更多开箱即用的功能。
您所拥有的代码非常简单,这就是为什么您在示例中将react视为过度杀伤的原因。我不会对这样一个简单的结构使用react(尽管你可能会因为构建组件太棒了!)
最后,库和框架是有区别的,react是一个框架,jquery是一个库。
p.S。我个人喜欢带有原生阴影dom的polymerJS,vs react,尽管它们不同,但它们的用途相似。
- consume salesforce chatter rest service from pure javascript
- Pure JavaScript alternative to jQuerys .find
- Pure Javascript Sandbox
- Fusion Charts, from flash to pure javascript
- 在 Plain/Pure Javascript 中,你如何找出元素对象具有哪些可用的方法或属性
- Timing Json in pure Javascript
- Pure Data - Autotune - Javascript
- Jquery or pure javascript
- selector.addClass('classname') in pure javascript
- jQuery selection vs pure javascript
- Pure javascript validation
- Pure javascript carousel
- Pure JavaScript onclick event
- slidetoggle in pure Javascript
- Pure Javascript - setInterval (1s), setAttribute
- Pure Javascript's .closest() returns null
- Pure Javascript API for Twitter and Google Plus
- Pure JavaScript alternative to jQuery's .not()
- Libraries vs Pure Javascript
- Zendesk in Pure JavaScript 的注销功能