Taro + 小程序开发踩坑

2020-09-23  本文已影响0人  NanaCti
           onTouchStart={}
          onTouchMove={}
          onTouchEnd={}
      <Canvas
          type=''
          canvasId='my-canvas'
      ></Canvas>
  
      this.ctx.draw(false, () => {
          console.log('draw');

          callback && callback();
        });

做navigateBack传参时发现componentDidShow无法触发, 打了许多断点, 发现是不小心给页面套了两层redux的connect导致componentDidShow无法正常触发, componentWillMount却不受影响, Taro在onshow, onhide触发之前会去判断有没有这个页面实例, 这个实例在componentWillMount阶段被储存, 因为两层的connect导致这个实例无法被储存, 而无法触发onshow, onhide

// 注意: 这里的Content-Type不是multipart/form-data, 而是multipart/form-data; boundary=XXX
  const formdata = (obj = {}) => {
      let result = ''
      for (const name of Object.keys(obj)) {
        const value = obj[name];
        result +=
        '\r\n--XXX' +
        '\r\nContent-Disposition: form-data; name=\"'+ name +'\"'+
        '\r\n' +
        '\r\n' + value
      }
      return result + '\r\n--XXX--'
    }
        res = await Taro.request({
          url: baseUrl + options.url,
          data: formdata(options.data),
          header: {
            'Content-Type': 'multipart/form-data; boundary=XXX',
            'token': accessToken, 
          },
          method: options.method.toUpperCase(),
          timeout: 6000,
          dataType: 'json',
        });
  // 这个bug仅在安卓出现
    const { windowHeight, windowWidth } = await Taro.getSystemInfoSync();
    const { system, statusBarHeight } = Taro.getSystemInfoSync()
    const isIOS = system.indexOf('iOS') > -1
    const navHeight = isIOS ? 0 : (48 + statusBarHeight)
  // windowHeight = windowHeight + navHeight 
  new Date('2020-10-15 23:59:59') < new Date() // false
  new Date('2020/10/15 23:59:59') < new Date() // true
  
  // 解决
  new Date('2020-10-15 23:59:59'.replace(/-/g, '/'))
上一篇 下一篇

猜你喜欢

热点阅读