javascript - 反应错误:“在...的上下文中找不到'商店'”
问题描述
我在运行我的反应应用程序时收到此错误消息:
在“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;
解决方案
您是否在商店中包装您的应用程序?
import { Provider } from 'react-redux';
const store = createStore(
combineReducers({
books: booksReducer
});
)
<Provider store={store}>
<App />
</Provider>
推荐阅读
- python - 加密货币两个时间戳之间每分钟的历史价格
- html - 如何将内容放入框中并使其响应?
- python - Pandas:如何用字符串替换范围内的值?
- dart - Flutter:如何实现customPainter小部件在垂直(高度)方向上的扩展
- regex - 用该字符串的第一个单词替换字符串中的所有逗号?
- matlab - 在 Matlab 中更改保持数据集
- html - 使用 pandoc 从 Markdown 生成具有内联样式的 PDF
- javascript - ReactJs - 无法读取 null 的属性“appendChild”
- delphi - 隐藏 Delphi FMX ListView 分隔线和滚动条
- scala - 如何在 Scala 中强制使用分号