如何解决:意外的键...在传递给createStore的preloadedState参数中找到。预期在Redux中查找已知的reducer键之一?

时间:2019-11-07 19:44:17

标签: javascript reactjs redux

我必须在Redux-React上进行申请。使用提取方法,我获取API数据并将其输出到页面(飞机在机场起飞的列表)中。还应该有一个搜索过滤器,用于搜索终端名称。该应用程序还应该具有用于​​昨天,今天和明天的飞机数据的按钮及其子按钮-出发和到达。

但是在控制台中出现这样的错误:

  

在传递给createStore的preloadedState参数中找到意外的键“ day”,“ data”,“ filteredData”,“ search”,“ shift”。期望找到已知的化简键之一:“ propReducer”。意外的键将被忽略。

代码:

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import App from './components/app';
import reducer from './reducers';
import thunk from 'redux-thunk'
import { ConnectedRoot } from './components/app';

const store = createStore(          
  reducer,
  {
    day: 1,
    data: [],
    filteredData: [],
    search: "",
    shift: "departure"
  },
  applyMiddleware(thunk)
);

ReactDOM.render(
  <Provider store={store}>
    <ConnectedRoot />
  </Provider> , document.getElementById('root'));

1 个答案:

答案 0 :(得分:1)

将您的预加载状态更改为不显示

const store = createStore(
  reducer, 
  {
    propReducer: {
      day: 1,
      data: [],
      filteredData: [],
      search: "",
      shift: "departure"
    }
  }
 ,
  applyMiddleware(thunk)
);

预加载的状态应与您的状态对象匹配。您不能简单地直接提供密钥。