一、bug修复
1、@tarojs/components@1.2.7 requires a peer of @types/react@^16.4.6 but none is installed. You must install peer dependencies yourself.
解决办法:手动执行 npm install @types/react@^16.4.6
2、Uncaught TypeError: (0 , _router.createHistory) is not a function
at eval (app.js?d0a8:25)
at Object../.temp/app.js (app.js:915)
方法一:通过点击文件,在webstrom中搜索到该文件app.js
删除掉保存的方法和调用的view
方法二:
taro update project
npm install
方法三:重新下载router
3、onClick方法被频繁调用,不停给服务器发请求
解决办法:https://github.com/NervJS/taro/issues/2738
4、 Cannot read property 'slice' of undefined
错误是由于数组对象未定义或为null 引起的,所以查看获取数据的接口是否请求到了数据。
此外(重点),对于一些能直接与后台数据库交互的框架,如KendoUI,它要求前端渲染页面时的数据模型要与后台的数据模型(包括字段名称)一致,所以如果请求到了数据还是提示此错,则检查前后端数据模型的字段命名是否相同。
5、
这个方法没有调用,即前端没有发送请求给后端,webstrom会提示 export default未使用,多半是因为没有注册
需要在index.js中注册
6、H5打包发布后报错lib_library未定义
7、后端返回了数据而前端没有接受到时
8、componentDidUpdate防止页面过度刷新
如果你在 componentDidMount 里面 setState 导致组件更新,组件更新后会执行 componentDidUpdate,此时你又在 componentDidUpdate 里面 setState 又会导致组件更新,造成成死循环了,如果要避免死循环,需要谨慎的在 componentDidUpdate 里面使用 setState
9、浏览器报错:TypeError: Super expression must either be null or a function
这是github相关解决办法:https://github.com/NervJS/taro/issues/2704
我的解决办法是:更新taro-ui,
npm i taro-ui
然后首先找到node_modules/taro-ui/dist/h5/文件夹
将以下的路径对应文件夹中文件的路径进行修改,修改后部分样式会改变
官网的引用方法:https://taro-ui.aotu.io/#/docs/quickstart
二、每个平台的编译打包方式
微信小程序
选择微信小程序模式,需要自行下载并打开微信开发者工具,然后选择项目根目录进行预览。
微信小程序编译预览及打包
H5
H5 模式,无需特定的开发者工具,在执行完下述命令之后即可通过浏览器进行预览
H5 编译预览及打包
React Native
React Native 端运行需执行如下命令,React Native 端相关的运行说明请参见 React Native 教程
百度小程序
选择百度小程序模式,需要自行下载并打开百度开发者工具,然后在项目编译完后选择项目根目录下 dist 目录进行预览。
百度小程序编译预览及打包
支付宝小程序
选择支付宝小程序模式,需要自行下载并打开支付宝小程序开发者工具,然后在项目编译完后选择项目根目录下 dist 目录进行预览。
支付宝小程序编译预览及打包
三、方法
1、快速删除node_modules目录的方法
2、发送请求
3、跳转
4、值为 true 的属性可以省略书写值
四、项目
1、taro-ui
bug修复:自定义选项:清楚位置信息并退出和取消没反应
表单:话h5端没有picker选择器和滚动选择器
布局:h5端部分图片无法加载
大多数功能h5端和微信小程序没有同步
修复后的项目已提交至GitHub:https://github.com/JackonLiu/taroUI