开发者有时可能会实现多个自定义组件,而这些自定义组件可能会有些公共逻辑要处理,小程序提供 mixins 用于解决这种情况。

以下为示例:

  1. // /minxins/lifecylce.js
  2. export default {
  3. onInit(){},
  4. deriveDataFromProps(nextProps){},
  5. didMount(){},
  6. didUpdate(prevProps,prevData){},
  7. didUnmount(){},
  8. };
说明onInitderiveDataFromProps 自基础库 1.14.0 开始支持,可以使用 my.canIUse('component2') 做兼容判断。
  1. // /pages/index/index.js
  2. import lifecylce from './minxins/lifecylce';
  3. const initialState = {
  4. data: {
  5. isLogin: false,
  6. },
  7. };
  8. const defaultProps = {
  9. props: {
  10. age: 30,
  11. },
  12. };
  13. const methods = {
  14. methods: {
  15. onTapHandler() {},
  16. },
  17. }
  18. Component({
  19. mixins: [
  20. lifecylce,
  21. initialState,
  22. defaultProps,
  23. methods
  24. ],
  25. data: {
  26. name: 'alipay',
  27. },
  28. });