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, время: 17:01. |