React Redux Hooks找不到状态

问题描述

我正在关注 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...