2015-02-10 3 views
40

Я новичок в использовании React для разработки.Преимущества и недостатки использования ReactJS

Может ли кто-нибудь указать преимущества и недостатки использования ReactJS. Есть ли проблемы с производительностью при использовании этой библиотеки для больших проектов.

ответ

38

Преимущества использования React:

  • легко узнать, как визуализируется компонент, вы только посмотрите на функцию визуализации.
  • JSX упрощает чтение кода ваших компонентов. Также очень легко увидеть компоновку или как компоненты подключены/объединены друг с другом.
  • Вы можете визуализировать React на серверной стороне.
  • легко проверить, и вы также можете интегрировать некоторые инструменты, такие как шутка.
  • обеспечивает читаемость и упрощает упрощение обслуживания.
  • вы можете использовать React с любым фреймворком (Backbone.js, Angular.js), поскольку это только слой с изображением.

Что не так хорошо реагирует?

  • Это только слой с изображением, вы все равно должны подключить свой код к запросам Ajax, событиям и так далее. Некоторые люди удивляются этому.
  • сама библиотека довольно большая.
  • Кривая обучения может быть крутой.

Если реакция-родная действительно так описана, реакция будет еще больше.

Производительность разумная, она действительно хороша, поскольку она полагается на виртуальный дом, чтобы знать, что действительно меняется в вашем пользовательском интерфейсе, и будет повторно отображать только то, что действительно изменилось. У этого есть проблемы с очень большими, слегка меняющимися списками детей (2000 <li> test), но их можно оптимизировать просто.

Если вы не уверены, просто подумайте о больших проектах, используя React: instagram, hipchat, facebook chat и так далее.

Некоторые ресурсы:

И, вероятно, одна из моих любимых блоге Why React is awesome?

+1

Я хочу добавить некоторые комментарии к вашему ответу, как Я считаю, что разумно указывать. Во-первых, React не приходит с Jest, Jest может использоваться для тестирования компонентов React, но не требуется. Во-вторых, React никогда не стремился быть чем-то другим, кроме уровня представления, который нельзя было бы удерживать против него. Реагирует способность композиций, а не способность блокировать себя в кармане. –

+1

Вы правы, я спешил, когда написал свой первый ответ. Я отредактировал ответ, чтобы добавить в него свои баллы. Я все еще думаю, что «это слой уровня» должен быть в минусе, так как многие люди его удивляют. –

+0

Я добавил примечание о чем-то, что появляется часто с точки зрения производительности. Разделение больших списков детей, в которых мало изменений, может привести к большому количеству потраченных циклов процессора. Люди, похоже, ожидают, что это будет просто быстро, потому что «реагировать быстро». – FakeRainBrigand

Смежные вопросы