美文网首页
TARO 笔记

TARO 笔记

作者: 策炼 | 来源:发表于2019-04-04 09:49 被阅读0次

微信小程序的专属方法如下

  onPullDownRefresh   //页面相关事件处理函数–-监听用户下拉动作,从而刷新页面

  onReachBottom  //页面上拉触底事件的处理函数--用于分页处理刷新页面

  onShareAppMessage   //用户点击右上角转发

  onPageScroll   //页面滚动触发事件的处理函数

  onTabItemTap   // 当前是 tab 页时,点击 tab 时触发。这个事件本身还有缺陷待修复。

  componentWillPreload   //预加载,只在微信小程序中可用

一般组件完整的生命周期如下

componentWillMount  //在微信小程序中这一生命周期方法对应页面的onLoad或入口文件app.js中的onLaunch

componentDidMount  //在微信小程序中这一生命周期方法对应页面的onReady或入口文件app.js中的onLaunch,在 componentWillMount后执行

componentDidShow  //在微信小程序中这一生命周期方法对应 onShow

componentDidHide  //在微信小程序中这一生命周期方法对应 onHide

componentDidCatchError  //错误监听函数,在微信小程序中这一生命周期方法对应 onError

componentDidNotFound  //页面不存在监听函数,在微信小程序中这一生命周期方法对应 onPageNotFound

shouldComponentUpdate  //页面是否需要更新

componentWillUpdate  //页面即将更新

componentDidUpdate  //页面更新完毕

componentWillUnmount  //页面退出,在微信小程序中这一生命周期方法对应 onUnload

入口文件继承自 Component 组件基类,它的生命周期不如组件完整,包含如下:
componentWillMount、componentDidMount、componentDidShow、componentDidHide、componentDidCatchError、componentDidNotFound

修改state的任意数据

// https://www.cnblogs.com/zjlx/

this.state = {
      current: 0,
      tabObj: {title: '未使用',text:'已使用'},
      dataList: [
        {name: 'jack', age: 28},
        {name: 'rose', age: 18}
      ]
    }
// =========
  this.setState((preState) => {
     //修改基本类型数据
      preState.current = e.detail.value;  

    //修改某一对象属性
      preState.tabObj.title = e.detail.value;
    //修改整个对象
      preState.tabObj = {title:e.detail.value,text:'xxx'}

     //修改某一数组对象属性
      preState.dataList[0].name = e.detail.value;
     //修改某一数组对象全部属性
      preState.dataList[0] = {
        name: e.detail.value,
        age: 9
      };
      //修改整个数组
      preState.dataList = [
        {
          name: e.detail.value,
          age: 99
        },
        {
          name: e.detail.value,
          age: 88
        },
      ];
    }, () => {
      console.log(this.state.current);
      console.log(this.state.dataList);
      console.log(this.state.dataList);
    })
propTypes = {
     optionalArray: PropTypes.array,//检测数组类型
     optionalBool: PropTypes.bool,//检测布尔类型
     optionalFunc: PropTypes.func,//检测函数(Function类型)
     optionalNumber: PropTypes.number,//检测数字
     optionalObject: PropTypes.object,//检测对象
     optionalString: PropTypes.string,//检测字符串
     optionalSymbol: PropTypes.symbol,//ES6新增的symbol类型
}

相关文章

网友评论

      本文标题:TARO 笔记

      本文链接:https://www.haomeiwen.com/subject/tfnxiqtx.html