首页 > 解决方案 > 反应错误:“在...的上下文中找不到'商店'”

问题描述

我在运行我的反应应用程序时收到此错误消息:

在“Connect(Booklist)”的上下文中找不到“store”。要么将根组件包装在 a 中,要么将自定义 React 上下文提供者传递给连接选项中的 Connect(Booklist),并将相应的 React 上下文使用者传递给 Connect(Booklist)。

我正在使用 Create React App 并尝试创建一个列出一些详细信息的应用程序。

请参见下面的代码:

应用程序.js

import React, { Component } from 'react';
import './App.css';
import Booklist from './container/book-list';

class App extends Component {
  render() {
    return (
      <div className="App">
        <Booklist />
      </div>
    );
  }
}

export default App;

book-list.js

import React, {Component} from 'react';
import { connect } from 'react-redux';

class Booklist extends Component{  
    renderList(){
        return this.props.books.map((book) =>{
            return(
                <li key={book.title}>{book.title}</li>
            );
        }
        );
    }
    render(){
        return this.props.books.map((book) =>{
            return(
                <ul>{this.renderList()}</ul>
            );
        }
        );
    }
}
function mapStateToProps(state){
    return {
        books: state.books
    }
}
export default connect (mapStateToProps)(Booklist);

book_reducer.js

export default function(){
    return[
        {title: booke1},
        {title: booke2},
        {title: booke3},
        {title: booke3}
    ]
}

减速器中的 index.js

import {combineReducers} from redux;
import booksReducer from './books_reducer'
const rootReducer = combineReducers({
    books: booksReducer
}); 

export default booksReducer;

标签: javascriptreactjsecmascript-6reduxreact-redux

解决方案


您是否在商店中包装您的应用程序?

import { Provider } from 'react-redux';
const store = createStore(
    combineReducers({
        books: booksReducer
    });
)
<Provider store={store}>
            <App />
        </Provider>

推荐阅读