Estoy tratando de generar una variedad de servicios de transmisión para un nuevo proyecto.
Soy nuevo en React, así que me gustaría un poco de ayuda.
El código que estoy usando para llamar a todo es:
const [streamingState, setStreamingState] = useState({}); axios.request({ ...optionsParams, params: { s: `${movieData.title}`} }) .then(function (response) { console.log(response.data); const traktid = response.data.search[0].traktid; const traktidOptions = { ...optionsParams, params: { t: `${traktid}` } }; axios.request(traktidOptions).then(function (response) { const streamingServices = response.data.streams; const streamingServicesSet = streamingServices.map((streams) => ({ name: streams.name })) setStreamingState(streamingServicesSet); console.log(streamingState);y quiero devolverlo en el cuerpo de retorno con:
<div className='streaming' id="streaming"> <h3 style={{"marginRight" : "10px"}}>Available on: </h3> {/* {streamingState.map((streams) => {return(<div>{streams.name}</div>)})} */} {streamingState.name} </div>¿A alguien le importa mirar y ver si puede ayudar? He intentado varias cosas y sigo recibiendo este error 'streamingState.map no es una función'
Creo que el error ocurre en la línea const [streamingState, setStreamingState] = useState({}); . Aquí está definiendo el tipo de streamingState para que sea un objeto.
.map es una función solo para matrices y, por lo tanto, intentar mapear un objeto generará un error.
Si desea console.log(streamingState) , podrá ver el tipo, que por su apariencia podría ser un objeto. Querrá cambiar el tipo en su línea useState () a una matriz de objetos, es decir. const [streamingState, setStreamingState] = useState([{}]) y asegúrese de que esa parte funcione correctamente.