编码准则
由于微信原生 api 并不支持 class,所以除 Store
外,App
,Component
和 Page
相关的类都要遵循下面的约束:
不要在 class 的类方法中使用箭头函数,但可以在类方法内部使用(主要因为箭头函数将 this 绑定死了 Class,无法转到 Object 上)
不可以这样用:
class MyPage extends BasePage { foo = () => this.app }
可以这样用:
class MyPage extends BasePage { foo() { someArr.forEach(() => {}) } }
最好不要使用
get prop() {}
,@minapp/mobx 框架支持,但微信内部会遍历 Object 中的属性的值,所以你的 prop 在 Page 还没初始化前就会被调用,有可能会导致错误最好不要这样用:
class MyPage extends BasePage { get foo() { return this.something } }