数据获取与页面刷新问题

//store
import {observable, action} from "mobx";
import {request} from "../utils/axios"

export default class EconomyState {

    @observable economyList;

    constructor() {
        this.economyList = [];
    }

    //列表展示
    async getEconomyList() {
        const {data} = await request(
            {method: 'get', url: '/api/economy/list'},
            {},
            {message: '获取经济信息列表失败'},
        );
        this.setEconomyList(data);
    }

    @action setEconomyList(data) {
        this.economyList = data;
    }
}
//component
@inject("store")
@observer
class EconomyMain extends Component {

    constructor(props) {
        super(props);
        this.store = this.props.store.economyState;
    }

    state = {
        option: "map",
    };

    componentWillMount() {
        this.store.getEconomyList();
    };
    
    render(){
    console.log(this.store.economyList)
    return(
    ...)
    }
}

问题就是打印出来的economyList为空,但是我打断点看了,获取到数据以后,第二次刷新页面economyList是有数据的,但是为什么没有再次打印出来,我也用了observer啊,导致我后面数据都获取不到!

阅读 2.8k
2 个回答

已解决,存在一个异步问题

async getEconomyList() 仍然需要 @action 来包装

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题