代码之家  ›  专栏  ›  技术社区  ›  Ben Beri

React和Mobx-加载API数据?

  •  0
  • Ben Beri  · 技术社区  · 6 年前

    方案1

    export class MyStore {
    
        @observable token = "sometoken";
        @observable authenticated = false;
    
        constructor() {
            this.checkAuth();
        }
    
        @action
        checkAuth() {
            fetch("http://localhost:3001/validate/" + this.token)
                .then(res => res.json())
                .then(data => {
                    this.authenticated = data.validated;
                });
                // catch etc
        }
    }
    

    方案2:

    componentDidMount 方法。

    1 回复  |  直到 6 年前
        1
  •  0
  •   neo696e64    6 年前

    this.checkAuth() 在存储构造函数中。如果所有部分都需要身份验证,那么它看起来就像这样。 应避免使用选项2,因为这将导致不必要的到服务器的往返,以重新验证已验证的令牌。一般来说,MobX提供了很好的工具,可以最大限度地减少生命周期方法的使用,并编写更干净的代码。