gpt4 book ai didi

reactjs - 商店 'someStore' 不可用!确保它是由某些提供商提供的

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:27 25 4
gpt4 key购买 nike

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

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

Uncaught Error :MobX 注入(inject)器:存储“appState”不可用!确保它是由某些提供商提供的

这是我的代码:

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>
)
}
}

谁能指出我遗漏了什么?

最佳答案

您要求注入(inject)器寻找一个名为 appState 的商店,但是您提供给 Provider 的是一个名为 store 的商店>。看起来您需要更改此行:

<Provider store={AppState}>

到:

<Provider appState={AppState}>

关于reactjs - 商店 'someStore' 不可用!确保它是由某些提供商提供的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49478518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com