【问题标题】:How to fix : Unexpected keys...found in preloadedState argument passed to createStore.Expected to find one of the known reducer keys instead in Redux?如何修复:在传递给 createStore.Expected 的 preloadedState 参数中发现意外的键,而不是在 Redux 中找到已知的 reducer 键之一?
【发布时间】:2020-03-04 10:59:24
【问题描述】:

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

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

在传递给 createStore 的 preloadedState 参数中发现了意外的键“day”、“data”、“filteredData”、“search”、“shift”。预计会找到已知的 reducer 键之一:“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'));

【问题讨论】:

    标签: javascript reactjs redux


    【解决方案1】:

    将你的预加载状态改为dis way

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

    预加载的状态应该与你的状态对象匹配。你不能简单地直接提供键。

    【讨论】:

      猜你喜欢
      • 2017-02-24
      • 2019-09-05
      • 1970-01-01
      • 2014-12-18
      • 2020-09-28
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      • 2019-09-18
      相关资源
      最近更新 更多