Size: a a a

2019 July 19

M

Mikolalex in React Kyiv
ок, але в ідеалі хотілося б можливість логати діфф при зміні.
источник

DB

Dima Bildin in React Kyiv
Mikolalex
ок, але в ідеалі хотілося б можливість логати діфф при зміні.
Тогда манкипатчить useState
источник

NG

Nik Galaev in React Kyiv
let {target: { name, value }} = e;
let checked = [name, ...this.state.checked];
this.setState({checked});

всем привет, рендер реагирует на изменения с запазданием на 1 действие (клик), как будто checked мутируется
источник

NG

Nik Galaev in React Kyiv
пните пож в нужную сторону, бо голова уже кипит
источник

SS

Serhey Shmyg in React Kyiv
this.setState((prevState) => ({
   ...prevState,
   checked: ....
}));
источник

SS

Serhey Shmyg in React Kyiv
checked - масив!!!
источник

NG

Nik Galaev in React Kyiv
и может ли на такое поведение влиять то, что элемент завернут в такую конструкцию (а по сути)
источник

NG

Nik Galaev in React Kyiv
onClick={(e) => {
                                               // prevent checkbox area clicks
                                               if (e.target.querySelector('.checkbox') || e.target.className.indexOf('checkbox') !== -1) {
                                                   e.preventDefault();
                                                   e.stopPropagation();
                                               }
                                           }}
источник

NG

Nik Galaev in React Kyiv
Serhey Shmyg
checked - масив!!!
да, а в чем вопрос?
источник

SS

Serhey Shmyg in React Kyiv
Якийсь дивний флоу
источник

NG

Nik Galaev in React Kyiv
проверил, если хардкодить просто массив чеккед - все как нужно. получается что в сетСтейт передается что-то не то
источник

SG

Stas G in React Kyiv
Serhey Shmyg
this.setState((prevState) => ({
   ...prevState,
   checked: ....
}));
превстейт не нужно спредить
источник

G

GNU/Vsevolod.rs in React Kyiv
Stas G
превстейт не нужно спредить
y?
источник

SG

Stas G in React Kyiv
ну реакту достаточно только тех полей, которые вы обновляете
источник

G

GNU/Vsevolod.rs in React Kyiv
Stas G
ну реакту достаточно только тех полей, которые вы обновляете
А, ну если не хуки, то да
источник

SG

Stas G in React Kyiv
в хуках нет setState)
источник

G

GNU/Vsevolod.rs in React Kyiv
Под капотом ведь все равно спред произойдет
источник

SG

Stas G in React Kyiv
я говорю о примере выше
источник

G

GNU/Vsevolod.rs in React Kyiv
Stas G
в хуках нет setState)
const [state, setState] = useState()
источник

SG

Stas G in React Kyiv
часто так называешь стейт?)
источник