Подтвердить что ты не робот

Преимущества использования реактивного бутстрапа над бутстрапом

Какой смысл использовать react-bootstrap поверх простого старого Bootstrap?

Я проходил через https://react-bootstrap.github.io/components.html, и я не вижу никакого преимущества. Я могу только видеть, что это может привести к ненужной зависимости от проекта.

Есть ли трудности в использовании простого Bootstrap в проектах React/Redux?

** РЕДАКТИРОВАТЬ **

Отключение от чтения 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. Или я что-то пропустил?

4b9b3361

Ответ 1

React-bootstrap создает компоненты React для вас.

Преимущество будет очевидно, если вы подумаете, как сделать анимацию с помощью начальной загрузки в вашем проекте React.

Без реакции-начальной загрузки вам нужно что-то вроде CSSTransitionGroup. Вы не можете воспользоваться API-интерфейсом начальной загрузки, поскольку он будет манипулировать DOM, что делает поведение React непредсказуемым. Кроме того, bootstrap скроет детали своего API анимации; то есть вы не можете использовать его вообще.

Однако с компонентами начальной загрузки вам не нужно беспокоиться о том, как анимация реализована с помощью начальной загрузки, вам просто нужно указать свойства и перехватчики в компоненте, и библиотека сделает свое дело. Более конкретно, он может добавить некоторые обертки, которые не видны клиенту.

enter image description here

Как вы можете видеть выше, компоненты <Fade> и <Transition> добавляются загрузчиком.

Кроме того, синтаксис виртуального DOM может быть несовместим с DOM:

enter image description here

Как показано выше, размещение <input> внутри <select> является способом семантического пользовательского интерфейса, но React будет жаловаться. Я ожидаю, что при начальной загрузке могут возникнуть подобные проблемы без настраиваемой библиотеки.

Ответ 2

Это действительно вопрос о том, какой интерфейс вы планируете использовать. Если вы собираетесь использовать Angular, Ember, Knockout или обычный старый jQuery, тогда вам может быть достаточно обычного Bootstrap. С React, хотя есть фундаментальное различие в том, как код приложения JavaScript взаимодействует с DOM, что очень затрудняет работу с jQuery-подходом из Bootstrap, поскольку React работает в основном с виртуальным DOM. Это правда, что использование React-Bootstrap приведет к уменьшению количества кода шаблона, который вам потребуется для выполнения простых задач, таких как кнопки или элементы формы, хотя это не первичный коэффициент усиления.

Ответ 3

Если я правильно понял, реакция-бутстрап - это просто расширение компонентов, чтобы облегчить жизнь, которая не знает о html + css.

Если у вас нет знаний о том, как делать кнопки, меню, макеты и т.д. самостоятельно с помощью html + css + js, я советую вам использовать загрузку.

React не дает вам дизайн кнопок и меню, например.

Вот ссылка из facebook, почему нужно использовать реакцию:

https://facebook.github.io/react/docs/why-react.html

Я выбрал React несмотря на angular, потому что легче понять, если вы уже знаете javascript.

Если вам нужно использовать bootstrap, я советую вам использовать только твиттер-бутстрап, потому что вы можете настроить свой макет, просто добавив еще один файл css после bootstrap.css