【发布时间】:2021-09-18 05:23:25
【问题描述】:
所以我收到 DEC_NUM 不是函数的错误。我正在使用 react-redux 创建一个计数器状态。当我点击计数器(+)时,我收到了这个错误。
这是我的代码: 动作/index.js
const INC_NUM = () => {
return {
type: "INC_NUMBER"
};
};
const DEC_NUM = () => {
return {
type: "DEC_NUMBER"
};
};
export default { INC_NUM, DEC_NUM };
Reducer/counterReducer.js
const counterReducer = (state = 1, action) => {
if (action.type === "INC_NUMBER") {
console.log("Pressed +");
} else if (action.type === "DEC_NUMBER") {
console.log("Pressed -");
}
return state;
};
export default counterReducer;
reducer/index.js
import counter from "./counterReducer";
import { combineReducers } from "redux";
const rootReducer = combineReducers({
counter
});
export default rootReducer;
Store.js
import rootReducer from "./Reducer/index";
import { createStore } from "redux";
const store = createStore(rootReducer);
export default store;
主要代码 应用.js
import "./styles.css";
import { INC_NUM, DEC_NUM } from "./Action/index";
import { useSelector, useDispatch } from "react-redux";
export default function App() {
const count = useSelector((state) => state.counter);
const dispatch = useDispatch();
return (
<div className="App">
<h1>Reducer Counter</h1>
<button
onClick={() => {
dispatch(DEC_NUM());
}}
>
-
</button>
<span>{count}</span>
<button
// onClick={() => {
// dispatch(INC_NUM());
// }}
>
+
</button>
</div>
);
}
主要错误来自上面的代码,只是 DEC_NUM 不是函数
index.js
import { StrictMode } from "react";
import ReactDOM from "react-dom";
import App from "./App";
import store from "./store";
import { Provider } from "react-redux";
const rootElement = document.getElementById("root");
ReactDOM.render(
<StrictMode>
<Provider store={store}>
<App />
</Provider>
</StrictMode>,
rootElement
);
【问题讨论】:
-
添加沙盒链接到问题
标签: javascript reactjs react-redux frontend