React Redux错误提供给“Provider”的“object”类型的道具“children”无效

React-Redux error Invalid prop `children` of type `object` supplied to `Provider`

本文关键字:object 类型 无效 children Provider 错误 Redux React      更新时间:2023-09-26

我在学习Redux的工作方式时遇到了很多困难。我目前收到以下错误:

Warning: Failed propType: Invalid prop `children` of type `object` supplied to `Provider`, expected `function` 
Uncaught TypeError: children is not a function

我的代码如下——有人能发现我为什么会出现这个错误吗?

import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import { createStore, combineReducers } from 'redux';
import { Provider, connect } from 'react-redux';
import * as reducers from '../reducers/index';
import SassMeter from '../components/SassMeter';
import * as SassActions from '../actions/SassActions';
import _ from 'lodash'
const reducer = combineReducers(reducers);
const store = createStore(reducer);
ReactDOM.render(
  <Provider store={store}>
    <SassMeter />
  </Provider>,
  document.getElementById('root')
)

据我所知,这是在抱怨我向Provider传递了一个无效的prop,但我看到的所有示例都遵循了我在那里遵循的模式——使用createStore()创建存储,然后将其作为prop传递给Provider,后者会包装你的根元素。我觉得也许我错过了与connect有关的东西,但我不确定是什么。

非常感谢所有的帮助!

您很可能应该升级react-redux和/或react的版本。

在React<0.14和反应还原<1.0.0,Provider组件只接受一个函数作为children道具。这是基于所有者的上下文传播的一种变通方法,在React 0.14中,这种方法被弃用,取而代之的是基于父级的上下文传播。请参阅react redux 1.0.0自述文件中的相应文档。

相关文章: