【问题标题】:Store 'someStore' is not available! Make sure it is provided by some Provider商店“someStore”不可用!确保它是由某个 Provider 提供的
【发布时间】:2018-03-27 02:26:52
【问题描述】:

我正在尝试使用 React、Typescript 和 MobX 构建一个新项目。

由于某种原因,我无法让 MobX 工作。这是一段相对简单的代码,但它给了我这个错误。

未捕获的错误:MobX 注入器:存储“appState”不可用!确保它是由某个 Provider 提供的

这是我的代码:

AppState.ts

import {observable} from "mobx"
import {observer} from "mobx-react"

export class AppState {
    @observable public greeting = "hello World"
}

index.tsx

import * as React from "react"
import * as ReactDOM from "react-dom"
import { Provider } from "mobx-react"
import { Router, Route, Switch } from "react-router"
import { createBrowserHistory } from "history"
import MuiThemeProvider from "material-ui/styles/MuiThemeProvider"
"./containers/BookingStep/BookingStepContainer";
import { TestContainer } from "./containers/TestContainer";
import { AppState } from "./store/AppState";

const history = createBrowserHistory()

ReactDOM.render(
  <Provider store={AppState}>
    <Router history={history}>
      <Switch>
        <MuiThemeProvider>
          <div>
            <Route path="/test" component={TestContainer} />
          </div>
        </MuiThemeProvider>
      </Switch>
  </Router>
</Provider>,
document.getElementById("root"))

TestContainer.tsx

import * as React from "react"
import { inject } from "mobx-react"
import { AppState } from "../store/AppState"

export interface ITestContainerProps {
    appState?: AppState
}

@inject("appState")
export class TestContainer extends React.Component<ITestContainerProps, any> {

    public render() {
        const { children, appState } = this.props

        return (
            <div>
                {appState.greeting}
            </div>
        )
    }
}

谁能指出我错过了什么?

【问题讨论】:

    标签: reactjs typescript mobx-react


    【解决方案1】:

    您要求注射器查找名为 appState 的商店,但您提供的 Provider 是名为 store 的商店。看来您需要更改此行:

    <Provider store={AppState}>
    

    到:

    <Provider appState={AppState}>
    

    【讨论】:

      猜你喜欢
      • 2017-10-07
      • 1970-01-01
      • 2020-07-05
      • 2015-12-09
      • 2012-08-17
      • 1970-01-01
      • 2018-12-06
      • 2018-06-18
      • 2011-01-03
      相关资源
      最近更新 更多