Archer
до этого ещё довести надо)
Сергей
И если для этого по пути надо мутировать пару массивов фильтром ненужным то это и не грех..
Сергей
Это я видел респонс такой от Бэка...7 вложенности на комменты к клиентам и т.д.
Сергей
И сетать кусками жопа потому как связано все между собой и мапить жопа..
Сергей
А в редюсере при изменениях ад на 20 строк в кейсе.
Archer
как бы методы позволяют выйти из сетуаций
Archer
а вот если конечно делать бардак в коде и хардкодить везде то да там уже костыли пойдут
Archer
особенно бесят люди которые в банальных стилях !important ставят
Archer
А в редюсере при изменениях ад на 20 строк в кейсе.
благо редакс позволяет раскидывать редьюсеры) а то бы точно поддерживать было бы ужас
Михаил
ну или const { squares, count } = this.state; const data = event.target.getAttribute('data'); this.setState({ count: count + 1, squares: { ...squares, [data]: (count % 2 && 'o') || 'x' } })
И еще такой момент, у меня кертики нолики и у меня есть метод this.checkWinner которые провярет побидителя, послько setState штука асинхронная то я могу достучаться до текщуего состояния только на след ренедере, мне полчается нужно делать проверку в методете DIDMOUNT
Archer
https://codepen.io/Xgraf/pen/ZyMaYo
Archer
не сказать что код этих крестиков ноликов хорош, но думаю что то для себя взять сможешь
Archer
setState внутри setState
Archer
?
Archer
звучит не очень
Сергей
и из примера могу сказать что не особо это проблемно // пример const arr = [ [ { id: 1 }, { id: 2 } ], [ { id: 1 }, { id: 2 } ] ]; return { ...state, arr: arr.flat().filter(item => item.id !== 2), }
Это детский сад..я о ситуации когда ещё положи в каждый объект в массиве по массиву объектов а потом там ещё в каждый объект по паре массивов с объектами в которых ещё будут объекты с массивами... И в глубине на уровне 5-6 причем в нужных id на каждом уровне надо будет достать из массива объект с определенным id и запушить туда изменения..
Archer
насчёт проверки победителя можешь делать это в componentDidUpdate и проверять при изменении стейта, только там надо быть осторожным
Михаил
<Kz
Михаил
Бля
Archer
твой код удаляется
Михаил
твой код удаляется
Я Enter хочу сделать
Archer
это что за данные быть должны
Михаил
А если сделать так внутри setState((pr) => { if(this.checkWinner(pr)) console.log("Winne"); })
Сергей
это уже вакханалия
Ага...и как тут без костылей? При этом изменения приходят из мапа 3-4- вложенности...ад и развлекало во..
Archer
разбивать
Archer
по другому никак
Archer
сделаешь своего рода базу данные с таблицами то есть получил массив объектов из каждого объекта вытащил поля и раскидыл отедльно словно это другая таблица а связывает их id
Archer
Михаил
попробуй
Работает
Dmitry
Парни, здарова. Есть инфа, как в redux-form в Field закинуть value из пропсов? Заменяет пустым значением
Михаил
Насколько это хороший подход
Сергей
разбивать
Там уже половина была написана редюсере и и компонент...там только все удалять пришлось бы и переписывать... очень долго и на ненужно бесплатно такое делать.
Михаил
нормальный
Но он не возращает обьект
Archer
только он return должен делать
Archer
ну вот
Михаил
ну вот
return чего
Archer
объекта, стейт твой
Сергей
Сергей
В пропсах в форму отдай а редаксформ самподставит
Михаил
объекта, стейт твой
Мне там нечего возращать, мне просто нужно было запустить проверку
Archer
если тебе проверка нужна посмотри выше componentDidUpdate
Михаил
Михаил
Можешь пожалуйста подскзаать, не совсем плонял, что имеют ввиду
Михаил
Dmitry
В пропсах в форму отдай а редаксформ самподставит
Решил проблему через componentDidMount вызвал, this.props.initialize и вкинул данные из заранее переданного пропса. Спасибо.
Archer
PureComponent?
Михаил
PureComponent?
Это мне?
Archer
да
Archer
может они об этом https://ru.reactjs.org/docs/handling-events.html
Archer
а нет показалось
Archer
или не они об этом
กระเจี๊ยว
Всем доброго) Вчера пытался все сделать как подсказали Контейнер props -> Компонент часть props -> Компонент. Получается очень много пропсов, приходится прокидывать в первый компонент, компонент усложняется и сложно читать. Пытался сделать в контейнере внутрь компонента прокидывать в пропсах компоненты тоже смотрится не очень. Норм выглядит когда Контейнер props -> Компонент -> Контейнер props -> Компонент. Ну как понял это не совсем правильно.
Archer
() => this.func() думаю они хотят чтобы ты делал bind в конструкторе и передавал просто func или же использовал стрелочные функции
Archer
просто передай { ...props или ...this.props } конечно с учётом что ты знаешь какие пропсы передаёшь а не все подряд
กระเจี๊ยว
Ну как я понял есть контейнеры, которые работают со стором и кидают в компонент для отрисовки параметры в пропсах?
กระเจี๊ยว
Компонент при этом тупой и тупо рисует их
Михаил
Предпоследний пример,
Михаил
Я не понял откуда вызвается еще 1 рендер
Archer
Я не понял откуда вызвается еще 1 рендер
bind привязывает контекст this а второй параметр это то что получит сама функция
Archer
в твойм случае this.func.bind(this, e)
Михаил
Так а рендер второй откда берется??
Archer
хотя не
กระเจี๊ยว
компонента просто рисует контейнер делает всю грязь
А если мне в компоненте который обернут в контейнер требуется тоже отрисовать еще одну компоненты, которая тоже должна быть обернута в контейнер
Archer
просто this привязываешь
Archer
Так а рендер второй откда берется??
ты просто в componentDidMount делаешь что то и у тебя перерисовка
Михаил
Лан, пасибо
Archer
Так а рендер второй откда берется??
по поводу bind просто используй стрелочные методы, насчёт того что они хотят уточни может это не то
กระเจี๊ยว
в чём проблема?
Правильно вызывать контейнер из компонента?
Archer
и что за компонента такая у которой свои методы? которая внутри, раз ты делаешь контейнер то их много а зачем