Vlad
я не пойму ,почему там должно возвращать тру)
Daniil
Подскажите, что подразумевается под SideEffect в реакт
сайд эффект это не про реакт а вообще про функции, просишь например функцию за молоком сходить а она еще и окна моет))
Daniil
да
Dmitry
services.map(e => e.id == action.id ? e.checked = action.checked : e) - тут возвращается либо e.checked, либо е
Michail
да
Просто говорят что нестоит в willMount добавлять sideeddect
Daniil
я уже за пивом сходил а вы все с мапами деретесь))
Dmitry
я уже за пивом сходил а вы все с мапами деретесь))
а мы просто уже давно сходили 😂
Daniil
Просто говорят что нестоит в willMount добавлять sideeddect
это к тому чтобы не дергать то что еще не сформировалось в DOM
Daniil
а мы просто уже давно сходили 😂
теперь все встало на свои места)
Michail
это к тому чтобы не дергать то что еще не сформировалось в DOM
Я так понимаю что допустим didMount выщовется только один раз а willMount модет много?
Daniil
нет столько же раз
Daniil
просто didMount происходит после рендера а willMount до но после конструктора
Daniil
лучше глянуть в жизненный цикл компонент
Dmitry
Daniil
напиши какое у тебя условие
Vlad
ти прав) там возвращает только e.checked а не весь объект
Vlad
obj.services.map(e => { e.id == 2 ? e.checked = true : 0; return e });
Vlad
вот так можно
Daniil
киньте условие я сделаю
Vlad
киньте условие я сделаю
пусть сам делает) так нельзя. можно подсказывать, но не решать задание
Dmitry
services.map(e => e.id == action.id ? {...e, ...e.checked = action.checked} : e)
Dmitry
так наверное
Vlad
obj.services.map(e => { e.id == 2 ? e.checked = true : 0; return e });
а чем тебе этот вариант не нравится?
Michail
Тип из-зи DOM
Daniil
а чем тебе этот вариант не нравится?
без спреда не будет работать
Vlad
без спреда не будет работать
obj.services.map(e => { e.id == 2 ? e.checked = true : 0; return e }); это не бдет работать?)
Daniil
А вобще, почему проблемма вызвать sideEffect в WillMount
да вот хотел написать отвлекся))
Daniil
короче получается типа если стейт поменяется то нужно перерендэрить компонент а он зараза еще даже не построен - вот в чем беда
Vlad
а почему там 0?
если e.id не равен 2 , то ничего не делать)
Daniil
объясните хотя бы какое условие точно тут
Vlad
let obj = { services: [ {id: 1, name: 'Элемент 1', description: 'Описание элемента 1', checked: false}, {id: 2, name: 'Элемент 2', description: 'Описание элемента 2', checked: false}, {id: 3, name: 'Элемент 3', description: 'Описание элемента 3', checked: true}, {id: 4, name: 'Элемент 4', description: 'Описание элемента 4', checked: false}, ] } let result = obj.services.map(e => { e.id == 2 ? e.checked = true : 0; return e }); console.log(result);
Daniil
e.id == 2 какое-то странное условие)
Michail
короче получается типа если стейт поменяется то нужно перерендэрить компонент а он зараза еще даже не построен - вот в чем беда
Я так понял, проблемма в том, что запрос от сервера может прийти быстрее чем компонент сделает willMount&
Vlad
e.id == 2 какое-то странное условие)
да это чисто пример) у него там другое
Vlad
у меня нету всего задания)
Dmitry
всё получилось уже)
Dmitry
спасибо
Daniil
Я так понял, проблемма в том, что запрос от сервера может прийти быстрее чем компонент сделает willMount&
проблема в том что компонент физически начинает существовать только после didMount (точнее в момент его вызова)
Michail
Daniil
допустим так есть html и там к примеру есть текстовое поле но до того как ты ее отрисуешь выше запущен скрипт который хочет его поменять будет ошибка так как компонента еще нет - это без реакта
Dmitry
case ON_SERVICE_SELECT: return { ...state, services: {...state.services.map(e => e.id === action.id ? {...e, ...e.checked = action.checked} : e)} }
Dmitry
вот такая колбаса получилась
Daniil
...e.checked = action.checked это очень странная запись
Daniil
ладно костыли тоже нужно уметь писать самому))
Dmitry
почему?
Dmitry
services: {...state.services.map(service => service.id === action.id ? {...service, checked: action.checked} : service)}
Daniil
{ ...state, services: {...state.services.map(e => e.id === action.id ? {...e, checked: action.checked} : e)} }
Michail
Да, но мне не нужно знать нечего про мою инфу с wiilMoount
Если бы я изменял input в willMount это было бы логично
Dmitry
спасибо
Daniil
тогда другой вопрос, для чего там ее получать)
Oleksandr
Всем привет! Делаю тудулист и вот не могу понять как выделять таски по нажатию на кнопку. То ли хранить в отдельном массиве элементы со свойством true, то ли добавлять класс, как на словах это работает ?
Daniil
о на словах всё работает))
Dmitry
😂
Daniil
по туду листам походу только и завален ютуб)
Michail
тогда другой вопрос, для чего там ее получать)
Потому что все говорят что в didMount но обяснить чтоб я понял не могу((
Dmitry
case ON_SERVICE_SELECT: return { ...state, services: {...state.services.map(service => service.id === action.id ? {...service, checked: action.checked} : service)} };
Oleksandr
вот как раз эту проблему только что решили
Спасибо, почитаю сейчас историю)
Daniil
мне думается туду лист это современный hello world)
SV
мне думается туду лист это современный hello world)
нет...это на работу не возьмут но ты можешь сказать, что знаешь чуть больше чем console.log('hello world') но и практика для мозгов какая-то...но да..заездили на ура))
Daniil
на работу возьмут только когда поймут что ты можешь зачистить их косяки))
SV
на работу возьмут только когда поймут что ты можешь зачистить их косяки))
потому, джунам работа на реакте и не светит)) если нету несколько своих, ровных красивых проектов. А ту-ду лист в этом случае не прокатит
Dmitry
смотря какой тудулист
SV
смотря какой тудулист
нууу... что б прокатил...он должен быть реально крут ) хотя...врядли будет интересно вылизывать и пилить такую тудушку
Daniil
я согласен он должен быть крут не даром конторы делают календари с виду простая идея но важна реализация
Dmitry
а кто-то писал на react-native?
Dmitry
там всё то же самое?
Daniil
насколько я знаю есть небольшие отличия но точно какие сказать не могу)
Максим
Всем привет ребята, у меня такой вопрос как и где правильно использовать localStorage с redux
SV
а кто-то писал на react-native?
не смотрел ещё но после реакта обязательно....
Daniil
не смотрел ещё но после реакта обязательно....
говорят вещь стоящая я тоже как-нибудь доберусь
Dmitry
я не видел
Максим
говорят вещь стоящая я тоже как-нибудь доберусь
Ну да с ф5 но мне нужно типа где его читать и где в него записывать