reactjs - 为什么我会得到“预期减速器是一个函数。”?
问题描述
我对 redux/react 有所了解,但我的减速器有问题:
const reducer = (state = 0, action) => {
switch (action.type) {
case "INCREMENT":
return state++;
default:
return state;
}
};
试图将其注入我的商店:
const store = createStore(reducer);
我怎样才能避免这个错误?
解决方案
感谢沙盒!
执行时未定义您的“reducer”变量createStore
。1)在使用之前定义它,或者 2)用函数声明定义它:
function reducer(state = 0, action) {
switch (action.type) {
case "INCREMENT":
return state++;
default:
return state;
}
}
这导致它被“提升”(参见“函数声明提升”)。
之后,您会注意到您收到后续错误:
预期的侦听器是一个函数。
上store.subscribe(App);
。这是因为类声明没有被提升(参见“提升”)。App
所以你会想要before的类声明store.subscribe(App);
。
推荐阅读
- command-line - Vlang cli 示例不能以直观的方式工作
- django - Django:如何在电子商务中获取总购物车项目
- google-api - Gmail API 错误 429 - 如何解决该错误?
- reactjs - 从 React fetch 访问 Phoenix Framework http 请求
- android - 无法在 Google Play 管理中心上传应用程序包
- ios - 命令 PhaseScriptExecution Flutter 错误
- javascript - 如何选择
- sapb1 - 记录搜索后如何捕捉查找按钮事件和应用条件?
- python - 如何在 Veracode 静态扫描中扫描 python 脚本扫描?
- ruby - 我不能在 ruby 中划分这些变量 - 我该如何划分它们?