taro使用手记

? Taro['tɑ:roʊ],泰罗·奥特曼,宇宙警备队总教官,实力最强的奥特曼。

  • 如何获取路由参数?
//在 willMount 之前无法拿到路由参数
const abc = this.$router.params.abc
复制代码
  • 不要在 state 与 props 上用同名的字段,因为这些被字段在微信小程序中都会挂在 data 上。

  • 不要使用 undefined 应该使用 null

  • 书写 scss 不要直接选择组件名,应该使用.className,如果直接选择组件名在h5上css会无效

# 正确的
.button{
  width: auto;
  margin-bottom: 40px;
}
# 错误的,这样写的样式在h5上无效
Button{
  width: auto;
  margin-bottom: 40px;
}
复制代码
  • 如何在页面跳转的时候传递URL? 因为小程序的路由就是以URL的方式路由的,以?分割参数和路径,以&分割参数,参数传字符串还好要是传的字符串是url就会被分割,那么这个最终拿到的参数就会被分割掉,会不全,所以要想个办法吧url转换一下,不要留下?&=这种符号,于是我把url编码成了base64了,再传给目标页面,目标页面拿到了再解码就行。可以通过npm安装依赖库 npm install --save js-base64,具体文档 www.npmjs.com/package/bas…

  • 如何让图片显示宽度100%高度自适应

 render() {
   let style={
     width:'100%'
   };
   return (
     <View className='index'>
       <Image src={this.state.url} style={style} mode='widthFix' /> //重点在mode和width上
     </View>
   )
 }
复制代码
  • 如何设置页面的背景颜色? 在config里设置backgroundColor无效,因为这个配置的是窗口的背景色,只能在下拉的时候看到,要设置页面的背景,需要在 src/app.scss 文件中写
page {
  background-color: #eef3f3;
}
复制代码
  • 自定义组件 Canvas 无效绘制不出来,这个问题是因为没仔细看文档,看了微信的文档发现在自定义组件的时候,createCanvasContext()这个函数要传两个参数,一个是 id,另外一个是 this,然后我试了一下createCanvasContext('dot',this),还是无效,又一番搜索,原来 Taro 需要获取原生作用域,那么久应该是这么写:let context = Taro.createCanvasContext('dot',this.$scope);,成功绘制!

  • 引用 PropTypes 失败,按照官方文档上的代码

import PropTypes from 'prop-types';

class Greeting extends Component {
  render() {
    return (
      <h1>Hello, {this.props.name}</h1>
    );
  }
}

Greeting.propTypes = {
  name: PropTypes.string
};
复制代码

按照这么写的话终端会提示正在安装依赖prop-types,然后就是微信小程序编译失败,无法运行,然后试了一下另外一个引用方式import {PropTypes} from "nervjs";这样既可在微信上正常编译运行

  • flex 主轴方向为水平时,左边的项目宽度会因为右边的宽度变宽而变窄

    这是因为 flex 的 item 的 flex-shrink 默认值为1,即如果空间不足,该项目将缩小,负值对该属性无效。

    那么把 flex-shrink 的值设置为0,就表示不缩放了。

转载于:https://juejin.im/post/5c07b0bb5188253141434cd1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值