Estoy obteniendo datos de una API y quiero mostrarlos como textos, el título y la descripción funcionaron bien pero las categorías no, el error que recibo es:
TypeError no capturado: no se pueden leer las propiedades de undefined (leyendo 'mapa')
El código:
export default function SinglePost() { const [post, setPost] = useState({}); const [title, setTitle] = useState(""); const [desc, setDesc] = useState(""); const [categories, setCategories] = useState(""); useEffect(() => { const getPost = async () => { const res = await axios.get("/posts/" + path); setPost(res.data); setTitle(res.data.title); setDesc(res.data.desc); setCategories(res.data.categories); }; getPost() }, [path]); <div className="singlePost"> <div className="singlePostInfo"> <div className="postCats"> {post.categories.map((c) => ( <span className="postCat" key={c._id}> Category: {c.name} </span> ))} </div> </div> }no se donde esta mi error!
necesita actualizar su método de procesamiento para representar categorías desde el estado y el valor predeterminado del estado de categorías debe ser [] en lugar de ""
Cambie const [categories, setCategories] = useState("") a const [categories, setCategories] = useState([])
¡Cambia post.categories.map categories.map debería funcionar!