No estoy seguro de qué tipo designar aquí.
"HowitterObject" en setHowitters son datos y "...prev" es la adición continua de datos de howwitterObject.
interface IhowitterMessage { message: string; createAt: number; id: string; } const Home = () => { const [howitters, setHowitters] = useState<IhowitterMessage[]>([]); const getHowitters = async () => { const dbHowitter = await dbService.collection("howitter").get(); dbHowitter.forEach((document) => { const howitterObject = { ...document.data(), id: document.id, }; setHowitters((prev: ???) => [howitterObject, ...prev]); //What should I put in the "prev" type? }); }; useEffect(() => { getHowitters(); }, []); return( <div> {howitters.map((howitter: IhowitterMessage) => ( <div key={howitter.id}> <h4>{howitter.message}</h4> </div> ))} </div> ); }; Si console.log(howitters), es como sigue.
(3) [{...}, {...}, {...}] 0: {message: "no", createAt: 1631367025550, id: "q2d9TTgh36mgFZwMQ5EA"} 1: {createAt: 1631365463319, message: "Good", id: "nCABFp1v3dP73gIbckpp"} 2: {message: "hey", createAt: 1631367021665, id: "dmNBa6C8NwhDQDYDOP36"}Es similar al tipo de tu estado.
Debido a que prev es su estado anterior de howitters , podría poner IhowitterMessage[] allí también:
setHowitters((prev: IhowitterMessage[]) =>