问题描述
我有React Web应用程序,由cloudinary托管视频。我想知道从cloudinary库中提取随机视频或制作数组的方法吗?使用的数据库是mongodb。
这是VideoPlayer组件中的代码。尝试运行时,出现React Error 152。
export default class VideoPlayer extends React.Component {
state = {
randomId: ''
};
componentDidMount() {
this.randomId();
}
randomId = () => {
axios
.get(inDev ? devAPI.concat("v2/getRandomId") : baseAPI.concat("v2/getRandomId"))
.then(data => this.setState({ randomId: data }))
.catch(err => {
console.log(err);
return null;
});
};
render() {
return(
<div>
{this.state.randomId.length === 0 ? (
<div>Loading...</div>
) : (
<div>this.state.randomId</div>
)}
</div>
)
}
}
这是API
router.get("/v2/getRandomId",(req,res) => {
cloudinary.search.max_results(1).execute().then(result=>{
return res.json({
success: true,data: result.resources
});
});
});
谢谢
解决方法
我最终创建了一个随机数生成器,然后将该变量的乘积分配给视频阵列轮播的Index值,以在每次加载页面时随机播放视频。随机数生成器放置在componentWillMount方法中,每次加载页面时都会发生。
谢谢您的帮助。