Ваш пример не работаета какая ошибка? querySnapshot - это вообще что такое? массив?
Почему пустой?потому что setData выставляет новое значение "где-то там внутри", но переменная data не меняется. Вот когда случится новый рендер, то в нем уже будет новое значение
При таком подходе первый (нулевой) элемент никогда не будет равен самому себе
type Check<T> = {
[Key in ([keyof T] extends [never] ? 'Expected at least one property' : keyof T)]: unknown
};
class Test<T extends Check<T>> {}
type Check<T> = Record<PropertyKey, unknown> & {
[Key in ([keyof T] extends [never] ? 'Expected at least one property' : keyof T)]: unknown
};
< PostList posts={postInfo}/>
заменить 4 на 1?
Зачем мне мой тип превращать в json?
теперь в setData передается функция, в которой параметр d - актуальное, измененное значение. Но лучше всего сформировать весь массив и передать однократно. Возможно, будет работать так - если колбэк в forEach отрабатывает синхронно: