2015-10-11 2 views
0

Основываясь на этом примере https://jsfiddle.net/reactjs/n47gckhr/light/ взята из РЕАКТА официальных документов https://facebook.github.io/react/docs/thinking-in-react.htmlReact.js реквизит для компонента

1) Если бы я создать множество FilterableProductTable и того, чтобы получить данные с сервера, я должен поместить Аякс метод в родительском компоненте и передать данные в FilterableProductTable (как в примере) при инициализации.

2) Не было бы смысла иметь метод ajax внутри FilterableProductTable для получения необходимых ему данных (и быть независимым компонентом). Но если это сделать, мне придется сделать данные (продукты в примере) состоянием FilterableProductTable, а не реквизитами, так как реквизит не может быть изменен его собственным компонентом. Но сделать продукцию как государство не звучит правильно.

Так что вариант 1 лучше или мне нужно выбрать вариант 2?

+0

Эта статья является актуальной и может помочь: [Контейнерные компоненты] (https://medium.com/@learnreact/container-components-c0e67432e005) –

+0

@BinaryMuse Спасибо за ссылку. Это дает хорошее представление о том, кто должен заботиться о получении данных. – Pratheep

ответ

0

Вариант 1 лучше, чем вариант 2, но использование шаблона потока будет еще лучше. Основным преимуществом использования шаблона потока является лучшее разделение проблем. Хорошо иметь логику данных отдельно от вашей логики отображения. Это упрощает обслуживание вашего проекта.

+0

Flux - хороший вариант. – Pratheep