youtube-dl から取得したアドレスを、react-native-Video のソース領域に componentDidmount を使用して挿入すると、エラーが発生します。
しかし、youtube-dl から取得したアドレスを手動で変数に入れてソースに挿入すると、再び機能します。
componentDidMount(){
const {route, navigation} = this.props;
const {gameVid} = route.params;
if (gameVid != null) {
console.log('Didmount')
return new Promise((resolve, reject) => {
const rendertest = async (gameVid) => {
const format = await ytdl(gameVid, { quality: 'lowestvideo'},(err, info) => {
if(err){
reject(err);
console.log("promise error")
return;
}
});
let test = JSON.stringify(format[0].url);
return test
}
rendertest(gameVid).then(finalValue => {
console.log(typeof(finalValue)+": "+finalValue)
//this.state.testvalue = finalValue;
this.setState({
testvalue: finalValue,
done: true
});
})
//resolve(this.state.testvalue)
})
}else{
console.log("notmount")
}
}
youtube-dl から取得した値
コンソールで「testvalue」の値を確認すると、正常に取得できます。
Chrome でリンクを貼り付けても正常に動作するのに、react-native からは正常に動作しないのはなぜですか?