问题描述
我正在关注 https://react-redux.js.org/api/hooks
我的状态不确定,我连接了商店或认为自己做到了。我不知道这是什么问题。减速器代码是不可确定的。我只是想返回任何东西来获得某种打招呼的世界。我以前用过react redux。
//index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './js/App';
import * as serviceWorker from './serviceWorker';
import { Provider } from 'react-redux';
import { createStore,} from 'redux';
import reducers from './js/reducers';
const store = createStore(reducers);
ReactDOM.render(
<Provider store={store}>
<React.StrictMode>
<App />
</React.StrictMode>
</Provider>,document.getElementById('root')
);
//App.js
function App() {
const data = useSelector(state.myReducerData)
return (
<div>{data}</div>
);
}
export default App
//reducers/index.js
import { combineReducers } from 'redux';
import {OneReducer} from "./ExampleReducers"
const rootReducer = combineReducers({
myReducerData: OneReducer
});
export default rootReducer;
//ExampleReducers.js
import {EXAMPLES} from "../actions/types";
export function OneReducer (state = {},action) {
switch (action.type) {
case EXAMPLES:
return action.payload
default:
return state
}
return state;
}
解决方法
您缺少一个减速器的初始状态。
import { EXAMPLES } from "../actions/types";
// declare it here.
const initialState = {
data:[]
};
export function OneReducer(state = initialState,action) {
switch (action.type) {
case EXAMPLES:
return action.payload;
default:
return state;
}
return state;
}
您可以尝试
const data = useSelector((state) => state.data) // refers to initial state data property