Ract 17+TypeScript
Доброе время суток
какая-то чертовщина, заблудился в 3 соснах. todo.a увеличивается не на 1, а на два. Данный кусок кода срабатывает два раза. toggleHander исходя и логов срабатывает один раз, в newTodo перед return нужный результат но уже в useEffect (который также срабатывает один раз исходя из логов) результат двойной Код:
export interface ITodo{ |
todo - объёкт, объекты передаёются по ссылке, меняя a - ты меняешь его в исходном, чего делать в React нельзя.
const newTodo:ITodo[] = prev.map(todo=>{ if(todo.id === id){ console.log('+') return {...todo, completed: !todo.completed, a: todo.a+1}; }else{console.log('-')} // console.log(todo) return todo }) Не знаю правда связанно ли это с твоей проблемой, но такая хрень может привести к множеству странных эффектов.) |
Aetae,
Ты прав, проблема была в этом. Спасибо |
Часовой пояс GMT +3, время: 12:20. |