Size: a a a

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

2021 January 22

ML

Matthew Lawledge in React — русскоговорящее сообщество
Есть две функции. Первая висит сразу на чекбоксе, вторая соответственно работает только если чекбокс checked. Но почему создается новый массив при тыке на handleChecked, когда по сути должен убираться найденный по айдишке элемент?
дефолт значение checked = [ ]
источник

ML

Matthew Lawledge in React — русскоговорящее сообщество
источник

VB

Volodymyr Borysov in React — русскоговорящее сообщество
Matthew Lawledge
Есть две функции. Первая висит сразу на чекбоксе, вторая соответственно работает только если чекбокс checked. Но почему создается новый массив при тыке на handleChecked, когда по сути должен убираться найденный по айдишке элемент?
дефолт значение checked = [ ]
потому что .filter() возвращает новый массив
источник

VB

Volodymyr Borysov in React — русскоговорящее сообщество
Matthew Lawledge
Есть две функции. Первая висит сразу на чекбоксе, вторая соответственно работает только если чекбокс checked. Но почему создается новый массив при тыке на handleChecked, когда по сути должен убираться найденный по айдишке элемент?
дефолт значение checked = [ ]
сделайте:
prevstate => prevstate.filter()
источник

ML

Matthew Lawledge in React — русскоговорящее сообщество
Volodymyr Borysov
сделайте:
prevstate => prevstate.filter()
Спасибо, теперь новый массив не возвращается. Правда фильтр все равно возвращает айдишник, я ожидал, что останется просто пустой массив, без элементов
источник

VB

Volodymyr Borysov in React — русскоговорящее сообщество
Matthew Lawledge
Спасибо, теперь новый массив не возвращается. Правда фильтр все равно возвращает айдишник, я ожидал, что останется просто пустой массив, без элементов
а если установить !== ?
источник

ML

Matthew Lawledge in React — русскоговорящее сообщество
Volodymyr Borysov
а если установить !== ?
Блин. Я забыл, что оно работает от обратного и "оставляет" условие, а не фильтрует его. Спасибо еще раз
источник

SB

Sergey Boev in React — русскоговорящее сообщество
Volodymyr Borysov
сделайте:
prevstate => prevstate.filter()
prevstate ведь юзать не лучшая затея?
источник

VB

Volodymyr Borysov in React — русскоговорящее сообщество
Sergey Boev
prevstate ведь юзать не лучшая затея?
почему?
источник

SB

Sergey Boev in React — русскоговорящее сообщество
сетинг происходит не прям на этой строчке, соответственно и функция будет выполняться не на этой же строчке, разве нет?
источник

SB

Sergey Boev in React — русскоговорящее сообщество
выполнение функции отложиться на какое-то время , я об этом
источник

VB

Volodymyr Borysov in React — русскоговорящее сообщество
Sergey Boev
выполнение функции отложиться на какое-то время , я об этом
та всмысле? мы сразу вызываем функцию setState
источник

AT

Alexander Tarasenko in React — русскоговорящее сообщество
Перед prevState.filter, нужен спред
источник

SB

Sergey Boev in React — русскоговорящее сообщество
Volodymyr Borysov
та всмысле? мы сразу вызываем функцию setState
setState не устанавливает значение моментально и мы не можем использовать новое значение после строчки setState. Так?
И я хочу понять, если в setState кидаем функцию, то она так же выполниться позже вместе с сэтингом или нет
источник

И

Иван in React — русскоговорящее сообщество
Alexander Tarasenko
Перед prevState.filter, нужен спред
Не нужен
источник

VB

Volodymyr Borysov in React — русскоговорящее сообщество
Alexander Tarasenko
Перед prevState.filter, нужен спред
filter возвращает новый массив
источник

AT

Alexander Tarasenko in React — русскоговорящее сообщество
Там разве не получится массив в массиве?
источник

VB

Volodymyr Borysov in React — русскоговорящее сообщество
Sergey Boev
setState не устанавливает значение моментально и мы не можем использовать новое значение после строчки setState. Так?
И я хочу понять, если в setState кидаем функцию, то она так же выполниться позже вместе с сэтингом или нет
трудно ответить на последний вопрос. Не знаю как там внутри устроен useState.
источник

И

Иван in React — русскоговорящее сообщество
Sergey Boev
setState не устанавливает значение моментально и мы не можем использовать новое значение после строчки setState. Так?
И я хочу понять, если в setState кидаем функцию, то она так же выполниться позже вместе с сэтингом или нет
У тебя какое-то «магическое» мышление. Сэттинг какой-то выполняется вместе с функцией. Советую статейку, но только если уже разобрался с js
источник

И

Иван in React — русскоговорящее сообщество
Alexander Tarasenko
Там разве не получится массив в массиве?
https://t.me/react_js/1098288

Не получится
источник