为什么我不能通过mobx-react从提供者那里获得道具

时间:2017-01-09 17:26:31

标签: javascript mobx mobx-react

我想使用Mobx管理我的react-project状态,但是我无法通过mobx-react从提供者那里获得道具。

这是我的根元素(我删除路由器以简化问题):

import React from "react";
import ReactDOM from "react-dom";
import {Router, Route, hashHistory} from "react-router";
import {Provider} from "mobx-react";

import store from "../store";
import App from "./app";

ReactDOM.render((
    <Provider store={store}>
       <App/>
    </Provider>),
  document.getElementById("content"));

这是我的childNode:

import React, {Component} from "react";
import {observer, inject, PropTypes} from "mobx-react";

@inject("store") @observer
export default class App extends Component {
  constructor(props) {
    super(props);

    console.log(this.props.store);
  }

  render() {
    return (
      <div>
        ab
      </div>
    )
  }
}

App.propTypes = {
  store: PropTypes.observableObject
};

但是当我登录商店时,结果是不确定的,我不知道为什么我不能到商店。

从chrome devtools,我发现提供商有商店但App无法获得商店,我很困惑。

我的商店如下:

import {observable} from "mobx";
class Store {
  @observable count;

  constructor() {
    this.count = 1;
  }

  addCount() {
    this.count += 1;
  }

  decreaseCount() {
    this.count -= 1;
  }
}

let store = new Store();

export default store;

0 个答案:

没有答案