繁体   English   中英

无法解析容器中的存储(React,Redux)

[英]Cannot resolve store in container (React, Redux)

首先,我想表明我是JS和React的业余爱好者。 我面临一个问题,我使用React-Router显示的容器没有收到存储。 我不知道问题是什么。 我用Provider包装了根组件,并且我的应用程序始终显示此类错误: 在此处输入图片说明

这是我的Application component的片段:

 const rootReducer = combineReducers({ adress: require('./StudiosListRedux').reducer }) const store = createStore(rootReducer) const App = ({store}) => ( <Provider store={store} > <BrowserRouter history={history}> <Switch> <Route exact path='/' component={WelcomeScreen} /> <Route path='/main' component={StudiosList} /> </Switch> </BrowserRouter> </Provider> ) 

这是我的WelcomeScreen container

 export class WelcomeScreen extends Component { state = { city: '', street: '', number: '', withDrive: false } handleCityChange = (text) => { console.log('city', text) this.setState({ city: text }) } handleStreetChange = (text) => { console.log('street', text) this.setState({ street: text }) } handleNumberChange = (text) => { console.log('number', text) this.setState({ number: text }) } handleCheckBoxClick = () => { console.log('checkbox', 'pushed') this.setState({ withDrive: !this.state.withDrive }) } handleSearchClick = () => { const { city, street, number, withDrive } = this.state this.props.fetchStudios('query') } render () { const { city, street, number, withDrive } = this.state return ( <Container> <SearchComponent withDrive={withDrive} streetValue={street} cityValue={city} numberValue={number} onStreetChange={this.handleStreetChange} onCityChange={this.handleCityChange} onNumberChange={this.handleNumberChange} onCheckBoxClick={this.handleCheckBoxClick} onSubmitClick={this.handleSearchClick} /> </Container> ) } } export const mapStateToProps = state => { destination: state.adders.toJS() } const mapDispatchToProps = { fetchStudios: StudiosActions.studiosRequest } export default connect(mapStateToProps, mapDispatchToProps)(WelcomeScreen) 

谁能帮我解决我的问题? 我应该怎么做才能为我的集装箱提供存放空间?

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

您似乎忘记了将商店传递给应用程序。 我可能是错的,除此之外还有其他原因,

如果App是您的根组件,则它没有props ,那么您在这里尝试访问undefined store prop,并且您将覆盖之前所做的const声明。

只需删除{ store } prop声明:

const store = createStore(rootReducer)

const App = () => (
  <Provider store={store} >
    <BrowserRouter history={history}>
      <Switch>
        <Route exact path='/' component={WelcomeScreen} />
        <Route path='/main' component={StudiosList} />
      </Switch>
    </BrowserRouter>
  </Provider>
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM