на главнуюВсе эхи SU.SOFTW
войти ?

<textarea>

От Anatoliy Sablin (2:5020/2140.704) к Vladimir Zagray

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


Hello, Vladimir Zagray.
On 27.05.2019 22:43 you wrote:

VZ>>> Кстати, пытался я несколько лет назад использовать reactjs (для
VZ>>> курсовой работы). Так вот, сталкнулся я там тоже с немалым
VZ>>> количеством лапшекода. Приведу пример: есть такая структура
VZ>>> компонентов: <App>
VZ>>> <Notification/>
VZ>>> <Page1 (прим. условное название страницы)>
VZ>>> <Button>Add</Add>
VZ>>> <Container>
VZ>>> <ProductTemplate />
VZ>>> </Container>
VZ>>> </Page1>
VZ>>> </App> По нажатию на кнопку Добавить необходимо добавить
VZ>>> уведомление, что товар добавлен в корзину. И тут были варианты:
VZ>>> при инициализации компонента с уведомлениями, сохранить его в
VZ>>> глобальную переменную (ясно, что это плохой вариант);
VZ>>> использовать шину обмена сообщениями (самодельную или redux, но
VZ>>> не понравился огромным количеством кода)
AS>> Не увидел огромного количества кода в reactjs. В кнопке вызывется
AS>> action (можно сделать на саге), а дальше редьюсер обрабатывает
AS>> три ситуации, нажали кнопку добавления в корзину, успешно
AS>> добавили в корзину (показываем уведомление), не удалось добавить
AS>> в корзину (показываем ошибку). При этом всё состояние хранится в
AS>> одном месте (store). И можно в уведомление закидывать новые
AS>> сообщения или скрыть его.
VZ> Вот что немного сбивало в реакте, так это то, что он в своей
VZ> сущности и подобии не имеет состояния. А у redux-a (и в примере)
VZ> оно есть.

Во-первых да, глобальный state хранится отдельно от компонентов. Поэтому не надо думать, как хранить состояние, как изменить. С другой стороны, компонент всегда может добраться до состояния и вытащить нужный параметр и отрисовка компонента будет вызываться только если изменилось данное свойство состояния. Во-вторых компоненты логически делят на две категории: "умные" (имеют доступ к state и вызывают action-ы) и "глупые" (никакой логики, только отрисовка, паттер "декоратор" из gof). В третьих у каждого компонента может быть своё внутреннее состояние.

VZ> Да, надо бы его попробовать на каком-нибудь "привет мире". Тогда,
VZ> читая тогдашние статьи, сложилось мнение, что это слишком мудреная
VZ> штука. Сам я, конечно, не смотрел её. И зря...

Если таких быстрых hello world-ов полно. На одном проекте на прошлой работе он здорово облегчил жизнь, потому что там были графики, динамически обновляемые компоненты (справочники и просто виджеты). То есть для очень маленьких проектов реакт выглядит как явный оверкилл, но для средних и больших облегчает сопровождение.

--
Best regards!
Posted using Hotdoged on Android
--- Hotdoged/2.13.5/Android
* Origin: Android device, Milky Way (2:5020/2140.704)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://SU.SOFTW?msgid=2:5020/2140.704+1e656c7e