taro2.0.4开发小程序踩坑记

1,477 阅读1分钟

1、小程序富文本处理回车换行 /n ↵

const msg = msg.replace(/\n/g, "<br/>")
<RichText className='text'  nodes={this.msg} />

2、Taro2.0.4开发小程序无法接收'TIM.EVENT.SDK_READY'事件

见文章 juejin.cn/post/684490…

3、 小程序发送多媒体消息,图片消息等,语音消息,本地正常,对方接收不到

表面原因:

wx.app.createImageMessage 正常
wx.app.sendMessage 无响应

实际原因:

wx.$app.createImageMessage上传到腾讯cos(静态存储)失败,

发现过程

官方demo createImageMessage 返回结果(正常)

message 
  status 为 success
  payload  imageFormat: "png"
  imageInfoArray 中imageUrl 为cos链接

Taro项目 createImageMessage 返回结果(错误)

Taro2.0.4项目
message 
   status 为 unSend
   payload  中 imageFormat:255
   imageInfoArray   中imageUrl :空字符串

解决办法

将cos-wx-sdk-v5改为本地引用,而非node_modules 详细方法可参考此文章https://juejin.cn/post/6844904058457849870

4、 Taro mobx项目不及时刷新列表数据

解决办法:利用浅拷贝和深拷贝

场景一:取值时dom不及时更新

// 解决办法 
render () {
    let allConversation = JSON.parse(JSON.stringify(this.props.conversationModules.allConversation))
}

场景二:赋值时mbox 没有监控到。

// 解决办法 
const newConversationList = this.allConversation.map(item =>{
  if (item.conversationID == conversationID) {
    item.unreadCount = 0
    return item
    } else {
    return item
    }    
 })
this.allConversation = newConversationList