Estoy tratando de obtener un video de un canal específico en youtube usando la API de datos de YouTube usando reactjs. Pero mi consulta de API no devuelve nada. Esto es lo que he intentado para obtener el video. ¿Qué estoy haciendo mal aquí?
componentDidMount() {
console.log('componentDidMount colling ...');
fetch('https://www.googleapis.com/youtube/v3/channels?key="MYAPIKEY"&channelId="MYCHANNELID"&part=snippet,id&order=date&maxResults=2')
.then(results => {
this.setState({videos: results.json()});
this.setState({playingVideoId: this.state.videos[this.index]});
console.log("videos",this.state.videos)
console.log("videos",this.state.playingVideoId)
})
}
Primero intente usar cartero para ver si la URL devuelve datos correctos.
Segundo : setState
es asincrónico, lo que significa que si lo haces console.log
justo después de configurar el estado, no obtendrás los resultados correctos. Además, su segunda llamada a setState
está utilizando datos de la primera llamada, por lo que no obtendrá los resultados correctos. Simplemente llame setState
una vez y use la devolución de llamada para registrar lo que recibió.
componentDidMount() {
console.log('componentDidMount colling ...');
fetch('https://www.googleapis.com/youtube/v3/channels?key="MYAPIKEY"&channelId="MYCHANNELID"&part=snippet,id&order=date&maxResults=2')
.then(results => {
const videosObj = results.json();
this.setState({
videos: videosObj,
playingVideoId: videosObj[this.index]
}, (updatedState) => {
console.log("videos", updatedState.videos);
console.log("videos", updatedState.playingVideoId);
});
})
}
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras