react如何控制全局loading_ReactJS实践(一)—— FrozenUI React化之Loading组件

本文是React实践系列的开篇,将介绍如何将FrozenUI的Loading组件React化。首先,通过引入frozen.css和相关资源,配置webpack.config.js进行项目设置。然后,详细讨论了所需的依赖模块和文件目录结构。最后,展示了简单的loading.html入口页面,作为Demo的起点。
摘要由CSDN通过智能技术生成

在前面我们通过四篇文章入门了React的大部分主要API,现在则开始进入实践环节。

实践系列的开篇打算拿我司的FrozenUI来试验,将其部分UI组件进行React化,作为第一篇实践文章,将以较简单的Loading组件来入手,官网demo的效果如下图:

为了更好地开发,后续将以webpack工具来辅助,对其不了解的童鞋可以先查阅我的《webpack 入门指南》一文。

鉴于我们将复用 FrozenUI 的样式,所以在DOM结构、class命名上都应当尽量和原版的保持一致,在这个基础上来实现具有同样功能的React组件。

于是我们先下载好 frozen.css(方便示例所以直接用全局的样式)和图片资源,并定义一个简单的 webpack.config.js:

module.exports ={

entry: {

loading :'./src/js/page/loading.js'},

output: {

path:'dist/js/page',

filename:'[name].js'},

module: {

loaders: [

{ test:/\.css$/, loader: 'style-loader!css-loader'},

{ test:/\.js$/, loader: 'jsx-loader?harmony'},

{ test:/\.scss$/, loader: 'style!css!sass?sourceMap'},

{ test:/\.(png|jpg)$/, loader: 'url-loader?limit=8192'}

]

},

resolve: {extensions: ['', '.js', '.json', '.scss']

}

};

需要下载的模块大致有这些(尽管有几个我们暂时还用不上,先装上无所谓):

"dependencies": {"css-loader": "^0.15.2","expose-loader": "^0.7.0","file-loader": "^0.8.4","jsx-loader": "^0.13.2","node-sass": "^3.2.0","react": "^0.13.3","sass-loader": "^1.0.2","style-loader": "^0.12.3","url-loader": "^0.5.6"}

我们的文件目录结构也很简单:

其中 src 为源文件文件夹,dist 用于存放 webpack 最终处理后的输出文件。

src/js 中又分了 component 和 page 两个文件夹,用于存放组件脚本和html页面上要引用的入口脚本。

./loading.html

这是最终执行页面,作为Demo可以做的简单点:

Demo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值