当我使用mobx-react
时,我使用inject装饰器来传输商店。但是当我到达商店时如
@inject("store") @observer
class item extends Component {
constructor() {
this.store = this.props.store;
}
}
但是当我想调用store
的{{1}}函数时,我发现上下文store.getUser()
函数不是getUser
,我怎么能绑定{{} 1}}到this
?
PS:商店如下:
this
我使用store
之类的
class Store {
@observable user = "Sarah";
@computed
get getUser() {
return user + "Ok";
}
}
export default new Store();
答案 0 :(得分:1)
您必须在商店中使用this.user
:
class Store {
@observable user = "Sarah";
@computed
get getUser() {
return this.user + "Ok";
}
}
export default new Store();
computed
是一个getter,因此您无法通过函数调用访问它。只需取消引用该字段:
render() {
<div>{this.store.getUser}</div>
}
答案 1 :(得分:1)
class Store {
@observable user = "Sarah";
@computed
get okUser() {
return this.user + "Ok";
}
}
const store = new Store();
console.log(store.okUser);
@computed
是getter,因此您无需将其称为函数。