使用react-bootstrap而不是bootstrap的优点

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会抱怨.我希望没有自定义库的引导程序可能会遇到类似的问题

  • @zatziky如果只需要bootstrap的html和css部分,那就不要使用该库了。但是,如果要使用bootstrap的js部分,该库是必须的 (2认同)
  • “引导为您创建React组件”。更为准确的是:“ * react-bootstrap *创建React组件以使您的生活更轻松(如果您使用React的话,因为它们与等效的Bootstrap组件进行映射”)。而且react-bootstrap试图与Bootstrap保持功能平衡”。 (2认同)

Ale*_*nça 5

如果我理解正确的话,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文件

  • 我认为你误解了这个问题......它是引导程序与反应引导程序,而不是引导程序与反应! (4认同)
  • bs 不适合不懂 html css 的人,它主要用于网格系统,可能需要很长时间才能自定义 (2认同)

Mat*_*ith 5

这实际上与您计划使用哪种前端框架有关。如果您打算使用Angular,Ember,Knockout或普通的旧jQuery,那么传统的Bootstrap可能就足够了。但是,与React相比,JavaScript应用程序代码与DOM的交互方式存在根本差异,这使得Bootstrap的jQuery方法很难使用,因为React主要与虚拟DOM一起使用。的确,使用React-Bootstrap将减少执行诸如Button或Form元素之类的简单任务所需的样板代码量,尽管这并不是主要的收获。