Size: a a a

React — русскоговорящее сообщество

2021 February 05

k

konstantin b. in React — русскоговорящее сообщество
Ребяты, подскажите по antd. Например, есть календарь и при выборе даты, надо вычислять номер недели и сохранять эти данные в Form. Поле weekNumber в UI не отображается, но работать с ним надо. Есть ли возможность без костыля <Form.Item name="weekNumber" hidden />,  делать изменение значения form.setFieldValue(weekNumber) ?
источник

ИЗ

Игорь Завирюха... in React — русскоговорящее сообщество
Иванов Максим
Добрый день! Делаю форму заказа. На форме будет много <select>. Если у меня будет таких селектов штук 20, мне необходимо с базы вытягивать для каждого селекта их коллекции значений, а это 20 запросов в базу как я понимаю. Это норм если будет столько запросов?)
ну можешь или единожды  все получить, а потом закешировать. Юзер подождет один раз, но потом будет все быстро работать. Или каджый раз, когда будет открывать этот селект делать запрос и также его кешировать
источник

1

1N54N3 in React — русскоговорящее сообщество
Vetro
стейт менеджер)
так хорошо делать и приятно?
источник

SE

Stanislav Entaltsev in React — русскоговорящее сообщество
Всем привет! Беру картинку по такому пути import logo from '../../assets/logo.svg'. В деве всё ок, после билда её нет. Как это поправить?
источник

V

Vetro in React — русскоговорящее сообщество
1N54N3
так хорошо делать и приятно?
Я бы вынес дропдаун в ui, который принимал бы список пропами

Потом внутри какой-либо фичи, которая использует этот дропдаун - определял бы список  в модели и в нем хендлеры бы привязал к экшенам/эффектам/ивентам - неважно

В целом почти то же самое, что и на скрине, просто другая структура с разделением на бизнес и вьюху
источник

1

1N54N3 in React — русскоговорящее сообщество
Vetro
Я бы вынес дропдаун в ui, который принимал бы список пропами

Потом внутри какой-либо фичи, которая использует этот дропдаун - определял бы список  в модели и в нем хендлеры бы привязал к экшенам/эффектам/ивентам - неважно

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

k

konstantin b. in React — русскоговорящее сообщество
Stanislav Entaltsev
Всем привет! Беру картинку по такому пути import logo from '../../assets/logo.svg'. В деве всё ок, после билда её нет. Как это поправить?
А в папку билда она попала? Путь должен быть что-то типа dist/static/assets/images - где то там по по идее должно быть хешированное имя svg

В инспекторе разметки что отображается на месте svg?
источник

SE

Stanislav Entaltsev in React — русскоговорящее сообщество
konstantin b.
А в папку билда она попала? Путь должен быть что-то типа dist/static/assets/images - где то там по по идее должно быть хешированное имя svg

В инспекторе разметки что отображается на месте svg?
В инспекторе указывается путь типа ./****.svg, файл такой есть, и в файле есть svg-код, но иконка не грузится
источник

V

Vetro in React — русскоговорящее сообщество
1N54N3
не подскажешь как называется принцип разработки, при которой что-то делится на модель вью и еще что-то?
Вообще это MVC/MVVM, но "расово верный" подход как таковой гораздо реже встречается на фронте.

Архитектура в основном, как показывает тенденция - компонентная.
Но полезная практика заключается в том, чтобы не разделять компоненты на компоненты с логикой и компоненты без логики (они же container/presentational, они же smart/dumb и т.д), а вместо этого разделять свое приложение на бизнес логику и отображение.

То есть условная страница/вьюха, модель, в которой хранятся бизнес-сущности/логика.

Я бы рекомендовал почитать feature-slices/atomic design
источник

V

Vetro in React — русскоговорящее сообщество
1N54N3
не подскажешь как называется принцип разработки, при которой что-то делится на модель вью и еще что-то?
источник

V

Vetro in React — русскоговорящее сообщество
Это все очень вкратце, тема достаточно сложная и крайне обширная
источник

Е

Ебатрон in React — русскоговорящее сообщество
Vetro
Вообще это MVC/MVVM, но "расово верный" подход как таковой гораздо реже встречается на фронте.

Архитектура в основном, как показывает тенденция - компонентная.
Но полезная практика заключается в том, чтобы не разделять компоненты на компоненты с логикой и компоненты без логики (они же container/presentational, они же smart/dumb и т.д), а вместо этого разделять свое приложение на бизнес логику и отображение.

То есть условная страница/вьюха, модель, в которой хранятся бизнес-сущности/логика.

Я бы рекомендовал почитать feature-slices/atomic design
что такое по вашему бизнес логика именно на фронтенде?
источник

IN

Igor N in React — русскоговорящее сообщество
Ебатрон
что такое по вашему бизнес логика именно на фронтенде?
то что относится к запросу, получению, обработке и хранению данных
источник

V

Vetro in React — русскоговорящее сообщество
Ебатрон
что такое по вашему бизнес логика именно на фронтенде?
На примере -

Есть условная FSM из нескольких шагов, на каждом шаге - форма

Проверка валидности каждого шага, чтобы подсветить кнопку доступного перехода, отправка данных из формы этого шага на бэк, объединение данных со всех шагов в одну дтоху с последующей отправкой, хендлинг этого запроса (успех/провал) - все это можно отнести непосредственно к бизнес логике

Естественно, можно сказать что этим должен заниматься бэк

Но сейчас клиент может быть таким же сложным как и бэк, если не сложнее)
источник

V

Vetro in React — русскоговорящее сообщество
Вьюха же связывается с моделью событиями -

клиент ввел символ в поле формы (входная точка для модели) -> строка передается в стейт -> на основе этого и других стейтов собирается объект -> и так далее
источник

V

Vetro in React — русскоговорящее сообщество
Если подходить к разработке с такой стороны, приятным бонусом еще становится простота тестирования, когда тебе не нужно рендерить компонент для юнита)

Потому что, имхо, рендер компонента это уже непосредственно интеграционный тест

Если же ты хочешь протестировать поведение и логику приложения, зачем тебе вьюха?
источник

V

Vetro in React — русскоговорящее сообщество
Ну это мои пару центов
источник

МS

Марциновский Simon👌... in React — русскоговорящее сообщество
Привет, не знаете, почему не срабатывает removeEventListener
источник

МS

Марциновский Simon👌... in React — русскоговорящее сообщество
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
Марциновский Simon👌
Привет, не знаете, почему не срабатывает removeEventListener
покажи код
источник