Oleksandr
Ок, удалюсь
Kurzdor
у некста неплохой учебник
Alex
он очень базовые вещи рассказывает
Alex
после него сложно сразу писать чота адекватное
Oruj
сетевую логику ведь не нужно выносить в actions? и, по логике название экшна в прошедшем времени мне кажется логичкой. или допустил допущения?
Kurzdor
Смотри на razzle
Еще есть after.js кста
Ivan
сетевую логику ведь не нужно выносить в actions? и, по логике название экшна в прошедшем времени мне кажется логичкой. или допустил допущения?
сетевую логику нужно выносить за пределы реакта можно в экшены (redux-thunk), можно за экшены (redux-saga)
Oleg
Потому что внутри бегает через Children.map
А как влияет, если это тот же самый компонент? Там внутри тот же баттон
Oruj
сетевую логику нужно выносить за пределы реакта можно в экшены (redux-thunk), можно за экшены (redux-saga)
согласен. но я его сую в контекст, чтобы легко мог переключаться между тестовыми локалғным json данными и сервером
Oruj
но всё равно разметка знает о существовании некоего api
да, но пока можно в редакторе поменять new ApiTest() на new Api() а потом создать переключатель. как я создал справа сверху https://oruj91.github.io/star-wars
Kurzdor
согласен. но я его сую в контекст, чтобы легко мог переключаться между тестовыми локалғным json данными и сервером
Я не пойму зачем пихать в контекст когда можно по кусочку импортнуть что нужно
Kurzdor
И кода меньше И проще И вообще, чел правду говорит, вытащите из компонентов все общения с апи
Oruj
бог вам судья)
лол это еще больше угнетает)) будто все делаю не правильно))
Ivan
лол это еще больше угнетает)) будто все делаю не правильно))
https://t.me/react_js/768110 чуть выше объяснял господам, почему бизнес-логику (общение с апи, общение с апи браузера (всякие там localstorage и проч)) нужно выносить за пределы вью слоя на маленьких приложениях и туду-листах всё ок, но в настоящем приложении такой подход очень быстро приводит к переплетению людей, коней и http-запросов в одной куче её ни распутать, ни протестировать
Ivan
лол это еще больше угнетает)) будто все делаю не правильно))
советую хорошенечко покурить саги (докладики посмотреть, статейки почитать), чем они прекрасны и какие потрясные штуки с ними можно делать
Ivan
ты это. спокойно можешь выносить в хуки
а вместо стейт-машины использовать useReducer и Context API да-да, всё верно
Tutu
Народ вопрос не по реакту а по js) может кто знаетт библотеку для создания словарий(глоссарий) Типо список и сортировка по буквам)
Dmitry
а вместо стейт-машины использовать useReducer и Context API да-да, всё верно
чет ты не связное говоришь зачем умные слова кидать ? если все сказали то нельзя и ты поверил ? редукс для поцонов и без него нельзя
Dmitry
это была отсылка к вот этой статье https://gist.github.com/XaveScor/99431c573b53b8a0c41fb3b5fec522bc
никакая статья я уже говорил почему зачем ее всем пихать ?
Oruj
бог вам судья)
да, я был не прав походу) в контекст сеть передавать не надо. лишний hoc образуется
Artem
никакая статья я уже говорил почему зачем ее всем пихать ?
ну так аргументов больше нет, саги мои саги
Artem
бог вам судья
кто саги не использует - того бог накажет
Ivan
кто саги не использует - того бог накажет
сами разбирайтесь со своими — накажет или нет, мне всё равно я просто делюсь опытом
Kurzdor
кто саги не использует - того бог накажет
Саги не понравились через генераторы
Kurzdor
это была отсылка к вот этой статье https://gist.github.com/XaveScor/99431c573b53b8a0c41fb3b5fec522bc
Чел, это тот чел, который по кулдауну делал какой нить холивар
Oleg
не тот же самый
То есть, даже если обёртка возвращает тот же компонент, сама обёртка является другим компонентом? Я думал, это не так работает.
Dmitry
Завтра уже.
дай угадаю ты просто пропсы не прокинул
Kurzdor
Есть razzle Next слишком многое навязывает
Посмотрел на раззл, не нравится что давно не обновлялся И дохрена ишью на гитхабе
Dmitry
из родителя в кнопку
Oleg
из родителя в кнопку
Ну... Может, конечно. Но компонент рисуется, просто по сути Бордер радиусы не работают.
Dmitry
потому что ты не прокинул пропсы
Dmitry
https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/ButtonGroup/ButtonGroup.js#L157 он же не просто так мапает
Sergey
Вот буквально только что проверил
Khan
Добрый вечер. можете помочь с одной проблемой. Есть reducer : export default combineReducers({ product: productReducer, cart: cartReducer }) теперь хочу взять state cart в productReducere к нему приходит state только product. Как сделать combineReducers что-бы он передовал и rootState ?
Khan
как тут : https://github.com/Velenir/combine-reducers-global-state
Roman
как тут : https://github.com/Velenir/combine-reducers-global-state
а это вообще по моему мнению вредный костыль. для тех, кто не осилил селекторы
Khan
а это вообще по моему мнению вредный костыль. для тех, кто не осилил селекторы
для selector хочу сделать, хочу взять product selector в reducer cart. а selector работает с global state
Roman
для selector хочу сделать, хочу взять product selector в reducer cart. а selector работает с global state
не понимаю проблемы селекторы живут отдельно от редьюсеров. селекторы не вызываются из редьюсеров. они вызываются либо из mapStateToProps либо из action
Aggosh
Здравствуйте, я по гайду сделал приложение на React, хочу его расширить, но получаю вот такую ошибку Warning: Failed prop type: The prop `groups` is marked as required in `Form`, but its value is `undefined`. Я попытался добавить новый объект groups в Form, но что-то пошло не так. https://github.com/Aggosh/Test-Task/tree/master/Task/frontend/src
GG
как установить картирку по размеру на пол странице? например, если делать width 100%, а у нее ориентация албомная, то она на пол высоты от окна будет, вообщем мне надо как-то поределить ориентацию, и с альбомной делать height 100%, с книжной width 100
Khan
не понимаю проблемы селекторы живут отдельно от редьюсеров. селекторы не вызываются из редьюсеров. они вызываются либо из mapStateToProps либо из action
Хотел сделать так: Взять через selector getProductById в cartReducer и записать в carts. Как вы говорите, лучше сделать взять getProductById в action cart и передать через payload в cartReducer
Roman
Хотел сделать так: Взять через selector getProductById в cartReducer и записать в carts. Как вы говорите, лучше сделать взять getProductById в action cart и передать через payload в cartReducer
лучше ни так ни так. то что ты делаешь называется derived state и это антипаттерн правильно будет записать в стейт корзины только productId, а весь продукт доставать через getProductById из state.cart.productId в mapStateToProps компонента Cart
Khan
я хотел сделать все расчеты в reducer и сохранить в store. и просто выводить в компаненте
Roman
и каждый раз делать все расчеты в компаненте через reselect?
селекторы ведь кешируются. оно один раз будет пересчитываться
Khan
почитай про derived state
хорошо, спасибо
Kurzdor
а порталы еще актуальны в мире реакта?
Igor
а порталы еще актуальны в мире реакта?
их только ввели, а ты уже хоронишь их
Kurzdor
когда это только вот хуки я еще пойму только
Igor
ну не так давно 🤷🏻‍♂️
Alexander
Ребят, подскажите есть ли какая либа с набором готовых компонентов но без стилей? Чтоб можно было стилить как угодно, но при этом логику не писать самому? Или подскажите куда смотреть вообще
Alexander
Понял, спасибо. Не знал что так называется. Там именно основа, стилить как хочешь можно?
Mikhail
reakit
Почему он, а не материал, ант, etc?
Alexander
Материал крут но если стилить то все переписывать придется
Mikhail
Понял, спасибо. Не знал что так называется. Там именно основа, стилить как хочешь можно?
Везде будет дизайн система от разрабов, но везде можно кастомизировать тему и отдельные компоненты под себя
Dmytro
Привет ребята, подскажите плиз какой Wysiwyg editor использовать лучше?
Dmytro
wysiwyg остались в 2005
угу и в тестовом задании