使用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);
在react-boostrap
:
var button = ReactBootstrap.Button({
bsStyle: "success",
bsSize: "large",
children: "Register"
});
React.render(button, mountNode);
来自bsStyle, bsSize, ...
的所有这些react-boostrap
是Angular
上人们不喜欢记住所有ng-*
标签的内容......我个人并不介意它,但如果它是react-bootstrap
给我的唯一的东西,我将使用twitter-bootstrap
。还是我错过了什么?
答案 0 :(得分:7)
Bootstrap为您创建React组件。 如果你考虑如何在React项目中使用bootstrap来做动画,那么优势将是显而易见的
如果没有react-bootstrap,你需要类似CSSTransitionGroup的东西,你不能利用bootstrap API,因为它会操纵DOM,这会使React变得不可预测,而bootstrap会隐藏他们动画API的细节。也就是说,你根本不能使用它
但是,使用bootstrap组件,您无需担心引导程序如何实现动画,您只需要在组件中指定属性和钩子,并且库将执行操作,更具体地说,它可以添加一些客户端看不到的包装器
正如您所见,<Fade>
和<Transition>
组件由bootstrap添加
此外,虚拟DOM的语法可能与DOM不兼容
如上所示,将<input>
置于<select>
内是语义UI的一种方式,但React会抱怨。我希望如果没有自定义库,引导程序可能会遇到类似的问题
答案 1 :(得分:5)
如果我理解正确的话,react-bootstrap只是组件的扩展,可以让生活变得简单,不知道html + css。
如果你不了解自己用html + css + js做按钮,菜单,布局等的知识,我建议你使用bootstrap。
React并没有为您提供按钮和菜单的设计。
这是facebook为什么使用react的链接:
https://facebook.github.io/react/docs/why-react.html
我选择React尽管有角度,因为如果你已经知道javascript,它会更容易学习。
如果你需要使用bootstrap,我建议你只使用twitter-bootstrap,因为你可以自定义你的布局,只需在bootstrap.css后添加另一个css文件
答案 2 :(得分:3)
这实际上是您计划使用的前端框架的问题。如果您打算使用Angular,Ember,Knockout或普通的旧jQuery,那么传统的Bootstrap可能就足够了。使用React虽然JavaScript应用程序代码与DOM交互的方式存在根本区别,但是由于React主要与Virtual DOM一起使用,因此很难使用来自Bootstrap的jQuery方法。确实,使用React-Bootstrap将减少执行简单任务(如Buttons或Form元素)所需的样板代码量,尽管这不是主要收益。
答案 3 :(得分:-1)
Bootstrap Framework的优点: 1.它支持JavaScript和jQuery附加组件 2.框架易于理解 3.学习和练习容易 4.工具的组件可以再次使用 5.与所有类型的浏览器兼容
React框架的优点 1.提高生产率 2.常数编码 3.搜索引擎优化友好的操作。 4.该工具可被所有公司使用。 5.制作具有新鲜内容的动态网站。 6.使用的组件可以再次使用。