javascript - 如何使用@inject 绑定(bind)函数?

标签 javascript reactjs mobx mobx-react

当我使用 mobx-react 时,我使用注入(inject)装饰器来传输商店。但是当我得到商店时,例如

@inject("store") @observer
class item extends Component {
  constructor() {
    this.store = this.props.store;
  }
}

但是当我想调用 store.getUser()store 的函数时,发现上下文中的 getUser 函数是不是 this ,如何将 this 绑定(bind)到 store

PS:店铺如下:

class Store {
  @observable user = "Sarah";
  @computed
  get getUser() {
    return user + "Ok";
  }
}
export default new Store();

我使用 getUser 就像

render() {
  <div>{this.store.getUser()}</div>
}

最佳答案

class Store {
  @observable user = "Sarah";
  @computed
  get okUser() {
    return this.user + "Ok";
  }
}

const store = new Store();
console.log(store.okUser);

@computed 是 getter,因此您无需将其作为函数调用。

关于javascript - 如何使用@inject 绑定(bind)函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42132265/

相关文章:

reactjs - Mobx-react 控制台警告相关观察者

javascript - 将 URL 中倒数第二个 "/"字符替换为 '#'

javascript - 页面加载几秒钟后打开 Bootstrap Accordion 时,ui-grid 为空白?

javascript - 如何修改 React 中 Bool 数组的值?

javascript - ReactJS - 从主文件导出模块

javascript - Webpack - 如何识别某些包并将其从渲染中排除?

javascript - 为 React 函数组件创建一个新的 MobX store 实例

Mobx 观察者模式支持

javascript - 从 HTML 传递 JS 参数

javascript - 在 postman 中,我如何获取响应主体并将其用于测试中的新请求