Ami*_*.io 21 twitter-bootstrap react-bootstrap
使用react-bootstrap而不是简单的旧Bootstrap有什么意义?
我正在浏览https://react-bootstrap.github.io/components.html,我认为没有任何优势.我只能看到它会给项目带来不必要的依赖.
在React/Redux项目中使用普通的Bootstrap有什么困难吗?
**编辑**
从阅读https://react-bootstrap.github.io/introduction.html中推断出来是唯一react-bootstrap能让我获得类名速记的东西吗?以下是同一页面的示例.
在plain boostrap我做:
var button = React.DOM.button({
className: "btn btn-lg btn-success",
children: "Register"
});
React.render(button, mountNode);
Run Code Online (Sandbox Code Playgroud)
并在react-boostrap:
var button = ReactBootstrap.Button({
bsStyle: "success",
bsSize: "large",
children: "Register"
});
React.render(button, mountNode);
Run Code Online (Sandbox Code Playgroud)
所有这些bsStyle, bsSize, ...从react-boostrap都是人不喜欢的东西Angular有记得那些ng-*标签...我个人不介意,但如果它是唯一react-bootstrap给我,我会用twitter-bootstrap.还是我错过了什么?
Gui*_*chi 11
Bootstrap为您创建React组件.如果你考虑如何在React项目中使用bootstrap来做动画,那么优势将是显而易见的
如果没有react-bootstrap,你需要像CSSTransitionGroup这样的东西,你不能利用bootstrap API,因为它会操纵DOM,这会使React变得不可预测,而bootstrap会隐藏他们动画API的细节.也就是说,你不能使用它一点都没有
但是,使用bootstrap组件,您无需担心引导程序如何实现动画,您只需要在组件中指定属性和挂钩,并且库将执行操作,更具体地说,它可以添加一些包装器,对客户不可见

如上所示<Fade>,<Transition>组件由bootstrap添加
此外,虚拟DOM的语法可能与DOM不兼容
如上所示,放入<input>一个<select>是一种语义UI的方式,但React会抱怨.我希望没有自定义库的引导程序可能会遇到类似的问题
如果我理解正确的话,react-bootstrap只是组件的扩展,可以让生活更轻松,不知道html + css.
如果你没有自己用html + css + js做按钮,菜单,布局等的知识,我建议你使用bootstrap.
例如,React没有为您提供按钮和菜单的设计.
以下是facebook为什么使用反应的链接:
https://facebook.github.io/react/docs/why-react.html
我选择React尽管有角度,因为如果你已经知道javascript,它会更容易学习反应.
如果你需要使用bootstrap,我建议你只使用twitter-bootstrap,因为你可以自定义你的布局,只需在bootstrap.css后添加另一个css文件
这实际上与您计划使用哪种前端框架有关。如果您打算使用Angular,Ember,Knockout或普通的旧jQuery,那么传统的Bootstrap可能就足够了。但是,与React相比,JavaScript应用程序代码与DOM的交互方式存在根本差异,这使得Bootstrap的jQuery方法很难使用,因为React主要与虚拟DOM一起使用。的确,使用React-Bootstrap将减少执行诸如Button或Form元素之类的简单任务所需的样板代码量,尽管这并不是主要的收获。