【问题标题】:redux-localstorage implementation error: Warning: Failed propType: Invalid prop `store` of type `function` supplied to `Provider`, expected `object`redux-localstorage 实现错误:警告:propType 失败:提供给 `Provider` 的类型为 `function` 的无效 prop `store`,预期为 `object`
【发布时间】:2018-01-23 19:11:39
【问题描述】:

我目前正在实施redux-localstorage

但我遇到以下错误:警告:失败的 propType:无效的 prop store 类型为 function 提供给 Provider,预期为 object

这是我的 index.js 文件 - 我在这里缺少什么?

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { compose, createStore, applyMiddleware } from 'redux';
import ReduxThunk from 'redux-thunk';
import { createLogger } from 'redux-logger';
import persistState from 'redux-localstorage'

import App from './components/app';
import reducers from './reducers';

const logger = createLogger({ collapsed: true });
const enhancer = compose(
  ReduxThunk,
  logger,
  persistState(null, 'redux')
);

const store = createStore(reducers, enhancer);

ReactDOM.render(
  <Provider store={store}>
    <App />
  </Provider>
  , document.querySelector('.container'));

【问题讨论】:

    标签: reactjs redux local-storage react-redux


    【解决方案1】:

    您需要将 thunk 作为参数提供给 applyMiddleware 函数:

    const enhancer = compose(
      applyMiddleware(ReduxThunk),
      applyMiddleware(logger),
      persistState(null, 'redux')
    );
    

    您也需要对记录器执行相同操作

    【讨论】:

      【解决方案2】:

      看来您的 persistState 签名错误,请尝试不带参数调用它。

      https://github.com/elgerlambert/redux-localstorage#persiststatepaths-config

      【讨论】:

      • 没有参数传递给persistState时仍然会出现同样的错误
      • 尝试将默认状态添加到createStore - createStore(reducers, {}, enhancer);
      猜你喜欢
      • 1970-01-01
      • 2016-03-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-04
      • 2019-06-14
      • 1970-01-01
      • 2019-03-31
      • 2020-06-30
      相关资源
      最近更新 更多