2015-11-03 11 views
7

Sto inciampando molto nel mio modo di imparare come funziona Redux. Attualmente sto ottenendo i seguenti errori:Errore React-Redux Prop `` bambini` non valido `` `` `fornito a` Provider`

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

il mio codice è sotto - è qualcuno in grado di individuare il motivo per cui sto ottenendo questo errore?

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') 
) 

Da quello che ho capito, si lamenta che sto passando un puntello valida per provider, ma tutti gli esempi che ho visto seguire il modello ho seguito là - creare il negozio utilizzando createStore(), poi passalo come oggetti di scena al Provider, che include l'elemento radice. Mi sento come se mi mancasse qualcosa a che fare con connect ma non sono sicuro di cosa.

Tutti gli aiuti molto apprezzati!

risposta

2

Probabilmente è consigliabile aggiornare la versione di react-redux e/o react.

In React < 0.14 e react-redux < 1.0.0, il componente Provider ha accettato solo una funzione come prop children. Questa è stata una soluzione alternativa alla propagazione del contesto basata sui proprietari, che è stata deprecata a favore della propagazione del contesto basata su padre in React 0.14. Vedere the corresponding doc sul README react-redux 1.0.0.

Problemi correlati