我只是试图分派一个操作到store ,并得到这个错误.我不知道什么是flexer2,也不知道为什么会有一个TypeError:
listener2 is not a function
TypeError: listener2 is not a function
at wrappedListener
at Map.forEach (<anonymous>)
at Object.dispatch
at dispatch
at App
这是我唯一的切片:
import {createSlice} from '@reduxjs/toolkit';
const PostContainerSlice = createSlice({
name: "postContainer",
initialState: [],
reducers: {
addPost: (state, action) => {
state.push(action.payload)
},
}
})
export const {addPost} = PostContainerSlice.actions;
export default PostContainerSlice.reducer;
_
import {configureStore} from '@reduxjs/toolkit';
import PostContainerReducer from './features/post/PostContainerSlice.js';
export default configureStore({
reducer: {
postContainer: PostContainerReducer
}
})
Index.js:
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import store from './store.js';
const root = ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App dispatch={store.dispatch} state={store.getState()} />
</React.StrictMode>
);
store.subscribe(root);
App.js:
import './App.css';
import PostContainer from './features/post/PostContainer'
function App(props) {
const {state, dispatch} = props;
dispatch({
type: 'postContainer/addPost',
payload: 'test'
})
console.log(state)
}
export default App;
控制台记录存储的状态工作正常,只是调度导致了这种情况.当从index.js中删除'store. subscribe(root)'时,错误不会发生,但控制台日志(log)显示没有被分派,存储保持不变.也许这和这个问题无关. 此外,当在App呈现上方从index.js分派和记录状态时,存储似乎正常分派和记录.我以为这是一个线索,但却一无所获.