Size: a a a

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

2020 November 20

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
Anatoly Politsin
  const checkboxHandler = () => {
   dispatch(catalogCheck(e.target.checked, id))
 };

сделал так в итоге
а если в дереве будет несколько типов чекбоксов? :)
например открыть/закрыть все ветки сразу
источник

AP

Anatoly Politsin in React — русскоговорящее сообщество
это просто открыть/закрыть ветку в дереве)
источник

AP

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

D

Dima in React — русскоговорящее сообщество
Доброй ночи, кто шарит хорошо в Реакте и Редаксе, можете помочь?) Это займет 5м, напишите в ЛС))
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
ну это я утрировано, ну например будут чекбоксы для пометки на удаление еще рядом
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Dima
Доброй ночи, кто шарит хорошо в Реакте и Редаксе, можете помочь?) Это займет 5м, напишите в ЛС))
пиши вопрос сюда, никто в личку к тебе не пойдет
источник

S

Stanislav in React — русскоговорящее сообщество
Dima
Доброй ночи, кто шарит хорошо в Реакте и Редаксе, можете помочь?) Это займет 5м, напишите в ЛС))
в чем трудность написать сюда?
источник

D

Dima in React — русскоговорящее сообщество
Александр Бакиматов
пиши вопрос сюда, никто в личку к тебе не пойдет
У меня есть Инпут и Чекбокс, когда инпут не является пустой строкой я устанавливаю чекбос в false (как видно на скрине), но проблемка в том, что когда я установлю чекбокс в тру, инпут должен задисейблится, а чекбокс так и остатся true, но условие выше этого не позволит..
При этом инпут может быть не пустым
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
Anatoly Politsin
а понял, чекбоксХендлером называть
смотри, исторически сложилось так, что EventHandler это обычно интерфейс во многих языках, например в java
а функции обрабатывающие эвенты называют handleEvent-ами
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
но это в общем, случае так
в частности же лучше давать обработчикам более осознанные имена
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Dima
У меня есть Инпут и Чекбокс, когда инпут не является пустой строкой я устанавливаю чекбос в false (как видно на скрине), но проблемка в том, что когда я установлю чекбокс в тру, инпут должен задисейблится, а чекбокс так и остатся true, но условие выше этого не позволит..
При этом инпут может быть не пустым
так, давай ты лучше опиши задачу не вникая в детали реализации, вообще не трогая техническую сторону - тогда проще тебе что то посоветовать будет
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
а то смотришь потом в такой код и видишь блин changeHandler...
и начинаешь искать сначала в каких элементах он там че хендлит и какие чейнжи
источник

D

Dima in React — русскоговорящее сообщество
Александр Бакиматов
так, давай ты лучше опиши задачу не вникая в детали реализации, вообще не трогая техническую сторону - тогда проще тебе что то посоветовать будет
В общем у меня есть очень ужасный редьюсер с гавнокодом, но так как никто его рефакторить не хочет, я должен как-то загавнокодить еще больше этот редьюсер..
В общем на странице есть поле и чекбокс, если юзер не хочет заполнять поле, он ставит его в положение ТРУ и поле дисейблится, но есть вариант что когда-то это поле было заполнено, и юзер может не очищает его, а просто поставить положение чекбокса в ТРУ и поле задисейблится..
НО, так же поле если заполнено или пустое, чекбокс должен быть ФОЛС
источник
2020 November 21

D

Dima in React — русскоговорящее сообщество
Александр Бакиматов
так, давай ты лучше опиши задачу не вникая в детали реализации, вообще не трогая техническую сторону - тогда проще тебе что то посоветовать будет
вот как это выглядит, может так понятнее будет
источник

AT

Alexey Tsibrovskii in React — русскоговорящее сообщество
Dima
В общем у меня есть очень ужасный редьюсер с гавнокодом, но так как никто его рефакторить не хочет, я должен как-то загавнокодить еще больше этот редьюсер..
В общем на странице есть поле и чекбокс, если юзер не хочет заполнять поле, он ставит его в положение ТРУ и поле дисейблится, но есть вариант что когда-то это поле было заполнено, и юзер может не очищает его, а просто поставить положение чекбокса в ТРУ и поле задисейблится..
НО, так же поле если заполнено или пустое, чекбокс должен быть ФОЛС
На установке Чекбокса очищать поле же можно?
источник

D

Dima in React — русскоговорящее сообщество
Alexey Tsibrovskii
На установке Чекбокса очищать поле же можно?
Точно этого не знаю, но думаю можно)
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Dima
В общем у меня есть очень ужасный редьюсер с гавнокодом, но так как никто его рефакторить не хочет, я должен как-то загавнокодить еще больше этот редьюсер..
В общем на странице есть поле и чекбокс, если юзер не хочет заполнять поле, он ставит его в положение ТРУ и поле дисейблится, но есть вариант что когда-то это поле было заполнено, и юзер может не очищает его, а просто поставить положение чекбокса в ТРУ и поле задисейблится..
НО, так же поле если заполнено или пустое, чекбокс должен быть ФОЛС
ну дык храни состояние чекбокса тогда отдельно, а не вычисляй его на основании длины value инпута. плюс выше правильно сказали что можно очищать на тоггле чекбокса (когда переход из false в true)
источник

AP

Anatoly Politsin in React — русскоговорящее сообщество
Спасибо,

Подскажите ещё плиз, как мне в редьюсере поменять свойство внутри дерева.

let current = state.products.find(c=> c.id == action.payload.id)?.chosen;

console.log(current, action.payload.checked);

return state;
часть выше работает. Нужно вернуть состояние с поменяным chosen.

я пытаюсь сделать как-то так:
return {...state, products: state.products.find(c=> c.id == action.payload.id)!.chosen = action.payload.checked}
и оно даже компилится, но потом вываливается с ошибкой при первом же чеке, а я не до конца понимаю как управляться с таким синтаксисом

при клике оно грохает текущее дерево, наверно я пытаюсь что-то поменять не в том уровне
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
короче тебе просто нужно разделить непосредственное изменение состояния чекбокса кликом на него и изменение состояния чекбокса через инпут
источник

D

Dima in React — русскоговорящее сообщество
Александр Бакиматов
короче тебе просто нужно разделить непосредственное изменение состояния чекбокса кликом на него и изменение состояния чекбокса через инпут
Ну вот я как-то так и пытался, пока не очень получилось 🙁
источник