PS
делаю todolist функционально, нужно каждому новому таску давать идентификатор последний+1
как мне без стейта сделать ф-цию idGenerator, которая при каждом следующем вызове будет возвращать следующее число
idGenerator() // 0
idGenerator() // 1
idGenerator() // 2
idGenerator() // 3
и тд
именно каунтер, а не выбирать из dom'а максимальний и инкрементить
function Counter(current: number) {
return () => ({
current,
next() {
return Counter(current + 1)();
}
})
}
const counter = Counter(1);
const c1 = counter(); console.log(c1.current); // 1
const c2 = c1.next(); console.log(c2.current); // 2
без вызовов next() никак не сделать — ведь функция твоя должна где-то хранить текущее значение. или во внутреннем стейте, или в новой функции