混合使用react-bootstrap和纯bootstrap是一个不好的主意吗?

3

我正在参与一个大型团队项目,其中使用了react-bootstrap 1.0.0和bootstrap 4.3.1的css+js。一些开发人员喜欢使用react-bootstrap组件,而其他人则更喜欢使用bootstrap类来样式化元素。因此,我们最终得到了两种不同的代码风格:

<ListGroup>
  <ListGroup.Item>
    Cras justo odio
  </ListGroup.Item>

对比。

<ul className="list-group">
  <li className="list-group-item">
    Cras justo odio
  </li>

如果继续这样做,我们可能会遇到哪些障碍?

我看到的一个问题可能是在将来升级react-bootstrap或bootstrap时。由于react-bootstrap依赖于bootstrap,在升级一个的同时需要同时升级另一个。这意味着需要同时遵循两种迁移策略。

2个回答

6
答案可能因受访者而异,但我认为很多人都会同意这是个不好的主意。实际上不存在所谓的“只是不一致”。避免同时使用Bootstrap和React有很多理由,其中一些例子如下:
  • 跨库交互 - 在我看来最大的原因是Bootstrap是一个DOM操作的JavaScript框架,而React是一个JavaScript UI库。换句话说,Bootstrap可能会意外地修改React组件,导致意想不到的副作用。想象一下使用jQuery来操作React组件。使用Bootstrap时,就相当于在这么做。React Bootstrap是用JS重新构建了Bootstrap,但重复使用了可以被核心BS JS针对的类名。
  • 速度/性能 - 同时包含Bootstrap和React Bootstrap会导致有两个服务同样的依赖关系。无论多么微小,通过放弃其中之一可以节省一些额外的字节。
  • 可维护性 - 如果您的应用程序需要更新,您要么需要找到一个具有特定专业知识的人,要么需要让某个人学习那种风格。即使您所有的开发人员都熟悉这两种风格,也会因为需要在两种不同的思维方式之间切换而变得混乱。
  • 可预期性 - 您的应用程序的哪些部分使用哪种风格?您怎么知道?开发人员如何知道何时需要切换风格?如果整个应用程序保持一致,对于每个人来说都更容易。
  • 招聘/培训 - 在任何团队中,更不用说是大型团队了,人员的进出都是正常的。因此,如果您失去一个开发人员并需要替换他们,这是需要考虑的额外因素,无论是在招聘过程本身中还是(更可能)在培训中。

4
你的React-Bootstrap组件和带有Bootstrap类的JSX将由同一CSS文件进行样式设置。 RB没有包含任何自己的样式,并要求您使用Bootstrap的CSS。不需要进行双重迁移。如果您更新或替换样式表,它将影响您的两个代码块。
React-Bootstrap还不使用Bootstrap的JavaScript,而是使用自己的重新实现。这意味着附加Bootstrap的JS不应影响RB组件的功能,并且如果您想在代码的第二个版本中使用Bootstrap的JavaScript行为,则必须这样做。
更多信息请参见: https://react-bootstrap.github.io/getting-started/introduction/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接