Size: a a a

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

2021 January 18

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Никита
То есть не считается плохим использовать контекст и пробросить пропсы, минуя промежуточные компоненты?
А то мне около 7 нужно пробрасывать, а это плохо с точки зрения кода, наверное
Если тебе прям так глубоко пришлось прокинуть что то что относится к view а не к предметной области, то проблема в архитектуре. Но вообще можно кто же запретит, но скорее всего это должно быть в стейт менеджере
источник

Вl

Виктарх lastName... in React — русскоговорящее сообщество
что-то я запутался. Подскажите как правильно сделать. Есть  classesList =classes.btn + ' ' + classes +'.'+ color + ' ' + classes.state; где classesList - это то что пойдёт в атрибут classname, где classes - это объект от css module. Т.е. classes.btn - это объект и стиль .btn из css модуля. Но есть ещё props.color, т.е. мне надо сделать типа: classes. + props.color. Как такое сделать? А то у меня выходит либо строка либо объект, либо строка+объект
источник

DK

Daniil Kuznetsov in React — русскоговорящее сообщество
Виктарх lastName
что-то я запутался. Подскажите как правильно сделать. Есть  classesList =classes.btn + ' ' + classes +'.'+ color + ' ' + classes.state; где classesList - это то что пойдёт в атрибут classname, где classes - это объект от css module. Т.е. classes.btn - это объект и стиль .btn из css модуля. Но есть ещё props.color, т.е. мне надо сделать типа: classes. + props.color. Как такое сделать? А то у меня выходит либо строка либо объект, либо строка+объект
источник

Н

Никита in React — русскоговорящее сообщество
Тимофей 🛴
Если тебе прям так глубоко пришлось прокинуть что то что относится к view а не к предметной области, то проблема в архитектуре. Но вообще можно кто же запретит, но скорее всего это должно быть в стейт менеджере
Не, около 7 это пропсы.
А глубина максимум 3.
Тут я похоже был не прав.
Дочерний компонент должен вызывать метод, который изменяет Стейт. Оно так и должно работать или каждый компонент за свой Стейт отвечает.
Например, весь Стейт описывает корзину и товары, а дочерний компонент имеет кнопку добавить товар и весь Стейт изменяется методом в родительском, который вызывается из дочернего
источник

AM

Ahma Mahma in React — русскоговорящее сообщество
Привет, извиняюсь, но возник вопрос.

так правильно делать?

- использовать useEffect, потому что если без него, то props.options не успевают загрузится, так как у родителя делается запрос на сервак а потом передается в пропс, ну и options.map дает ошибки, а так норм работает с useEffect,

то есть приходится всегда использовать эффект внутри, если я передаю options в компонент
источник

AM

Ahma Mahma in React — русскоговорящее сообщество
Ahma Mahma
Привет, извиняюсь, но возник вопрос.

так правильно делать?

- использовать useEffect, потому что если без него, то props.options не успевают загрузится, так как у родителя делается запрос на сервак а потом передается в пропс, ну и options.map дает ошибки, а так норм работает с useEffect,

то есть приходится всегда использовать эффект внутри, если я передаю options в компонент
воторой ретерн работает, а первый пустой.
источник

МZ

Мarat Zasorin in React — русскоговорящее сообщество
Тимофей 🛴
Пример использования контекста
1. Пишешь свой стейт менеджер
2. Пишешь декларативную обертку к императивной либе
3. Пишешь какой нибудь сложный компонент и хочешь прокидывать что то в его children, например Tabs часто с ним делают.
Может еще кто нибудь добавит?
это технические детали. Я про коцепцию. Есть страница /users, которая возвращает список пользотвателей, на ней можно перейти на страницу отдельного пользователя, всячески понадругиваться над ним. Весь функционал завернут в какой-то объект - то что, я называю контекстом, возможно ошибочно.
Так же есть страница /orders  с заказами, у них всё похоже, но свой функционал. Он тоже помещается в вышеупомянутый контекст, так?
И есть функционал приложения, который для всех одинаков - например, пагинация, фильтрация, сортировка. Они тоже туда же?
источник

AS

Aleksandr Sarkisov in React — русскоговорящее сообщество
А как лучше всего передать событие компоненту? Ну вот чтобы при нажатии на компонента у него менялся локальный стейт
источник

Д

Денис in React — русскоговорящее сообщество
Ahma Mahma
воторой ретерн работает, а первый пустой.
Ничего не понятно ((
источник

AM

Ahma Mahma in React — русскоговорящее сообщество
Денис
Ничего не понятно ((
)))))

я думал что понятно написал
источник

AM

Ahma Mahma in React — русскоговорящее сообщество
Денис
Ничего не понятно ((
ну там выше есть компонет, он делает запрос на сервер и сохраняет себе в стейт options , а затем передает его пропсами в кпмнет Features
источник

Д

Денис in React — русскоговорящее сообщество
Ahma Mahma
ну там выше есть компонет, он делает запрос на сервер и сохраняет себе в стейт options , а затем передает его пропсами в кпмнет Features
А почему у тебя в компоненте 2 возврата?
источник

AM

Ahma Mahma in React — русскоговорящее сообщество
я для примера написал :D
источник

AM

Ahma Mahma in React — русскоговорящее сообщество
типа так норм а так нет
источник

Д

Денис in React — русскоговорящее сообщество
Ahma Mahma
Привет, извиняюсь, но возник вопрос.

так правильно делать?

- использовать useEffect, потому что если без него, то props.options не успевают загрузится, так как у родителя делается запрос на сервак а потом передается в пропс, ну и options.map дает ошибки, а так норм работает с useEffect,

то есть приходится всегда использовать эффект внутри, если я передаю options в компонент
Ты должен дождаться ответа с АПИ, а только потом возвращать компонент с пропсами
источник

AM

Ahma Mahma in React — русскоговорящее сообщество
а дождаться можно только использую useEffect - так  же?
источник

AM

Ahma Mahma in React — русскоговорящее сообщество
ну как я там делаю
источник

Д

Денис in React — русскоговорящее сообщество
Ahma Mahma
а дождаться можно только использую useEffect - так  же?
А смысл? Ты же пропсы отрисовываешь)
источник

AM

Ahma Mahma in React — русскоговорящее сообщество
так первый раз массив пустой, а потом заполняется
источник

AM

Ahma Mahma in React — русскоговорящее сообщество
ну когда придут данные
источник