react antd-mobile安装及按需加载

本文档介绍了如何在React项目中安装并配置antd-mobile,以实现移动端适配和按需加载。首先,通过添加fastclick解决300ms点击延迟问题。接着,详细说明了在package.json中调整设置以及创建config-overrides.js文件来引入babel-plugin-import插件,以此实现antd-mobile组件样式的按需加载,从而优化项目体积。
摘要由CSDN通过智能技术生成

1.对index.html进行移动端的配置
fastclick是解决移动端300ms延迟的方案

<script src="https://as.alipayobjects.com/g/component/fastclick/1.0.6/fastclick.js"></script>
<script>
    if ('addEventListener' in document) {
      document.addEventListener('DOMContentLoaded', function() {
        FastClick.attach(document.body);
      }, false);
    }
    if(!window.Promise) {
      document.writeln('<script src="https://as.alipayobjects.com/g/component/es6-promise/3.2.2/es6-promise.min.js"'+'>'+'<'+'/'+'script>');
    }
</script>

2.antd-mobile样式的按需加载

npm i --save babel-plugin-import
npm i react-app-rewired@2.0.2-next.0 --save-dev(记得加版本号不然会报错)

然后对package.json文件做修改

"scripts": {
-   "start": "react-scripts start",
+   "start": "react-app-rew
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React项目中使用antd-mobile组件库进行开发时,文件上传和删除操作可以通过其提供的`Upload`组件和相应的事件处理来实现。 1. 文件上传:使用`Upload`组件可以方便地实现文件的上传功能。组件提供了`beforeUpload`、`onUpload`和`onError`等事件,可以在文件上传前进行校验、上传过程中获取状态以及上传出错时进行处理。 2. 文件删除:虽然`Upload`组件本身不提供删除功能,但可以通过其他方式实现。一种常见的方式是在`Upload`组件的子元素中添加删除按钮,并通过状态控制文件列表的显示。当点击删除按钮时,可以从文件列表状态中移除对应的文件数据,从而实现删除操作。 示例代码: ```jsx import { Upload, Icon } from 'antd-mobile'; class MyComponent extends React.Component { state = { fileList: [], }; handleUpload = (file) => { // 处理文件上传逻辑 console.log('开始上传', file); }; handleDelete = (file) => { // 删除文件列表中的文件 const newList = this.state.fileList.filter(item => item.uid !== file.uid); this.setState({ fileList: newList }); }; render() { const { fileList } = this.state; const uploadProps = { action: 'http://example.com/upload', // 上传地址 beforeUpload: (file) => { // 可以在此进行文件类型和大小的校验 return true; }, onChange(info) { // 上传状态发生变化时触发 const { status } = info.file; if (status !== 'uploading') { console.log('上传完成', info.file); } if (status === 'done') { this.handleUpload(info.file); } else if (status === 'error') { this.handleUploadError(info.file); } }, }; return ( <Upload {...uploadProps}> <div> <Icon type="plus" /> <p>点击或拖拽文件到这里上传</p> </div> </Upload> <ul> {fileList.map((file) => ( <li key={file.uid}> {file.name} <Icon type="delete" onClick={() => this.handleDelete(file)} /> </li> ))} </ul> ); } } ``` 在上述代码中,`Upload`组件用于实现上传功能,每个上传的文件都会被添加到`fileList`状态中。通过在文件列表中为每个文件项添加一个删除按钮,并绑定`handleDelete`方法,点击按钮时可以从`fileList`中移除对应的文件,从而实现删除操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值