任何人都知道如何在React中实现在YouTube等热门网站上看到的灰色内容加载动画。最好没有图书馆,但欢迎图书馆建议。
感谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
如果你想自己编写代码,这里有一个教你如何实现它的教程。主要是创建2层,下层是创建css3动画效果,上层是显示你想要的内容图像。
这里是教程,代码和解释。 (用中文,用谷歌翻译) https://www.jianshu.com/p/bd1d24e1ab9e
如果你想使用插件,这里是最常用的插件 https://www.npmjs.com/package/react-content-loader
放置加载效果的位置 如果要在组件中对部分使用加载效果,则应将其放在使用Ajax / axios的位置。 1)在调用ajax之前添加加载效果。 2)在ajax成功或错误后删除加载效果。 如果要对整个组件使用加载效果,可以放入组件的根目录,然后在数据到达后将加载设置为false。例如
class Component extends Component {
constructor(props) {
super(props);
this.state = {
loading: true
};
}
componentDidMount() {
axios.get('xxxx')
.then(function (response) {
//success
this.setState({
loading: false
})
})
}
render() {
return (
<div>
{
this.state.loading
? <div Loading />
: <div>Page Content</div>
}
</div>
)
}
}
答案 2 :(得分:0)
我认为您可以使用一些div
并填充灰色
componentDidMount()
。然后提出AJAX
请求,并将div
替换为真实内容
答案 3 :(得分:0)
如果你真的想用css进行实现并对组件进行反应,你可以从这里得到一个想法:https://www.leejamesrobinson.com/blog/loading-placeholder-with-sass/
但是有很多库可以帮助您加载内容,例如:
对内容加载器做出反应:https://github.com/danilowoz/react-content-loader 反应占位符:https://github.com/buildo/react-placeholder
希望这会对你有所帮助。