The error indicates that in your call to reactDOM.render (which you never show), you passed just a function or class name instead of a component instance.

For example, the example below is wrong:

ReactDOM.render(MyComponent, document.getElementById('MyComponent'));

And the fix is to turn the first parameter into a component instance by wrapping it in angle brackets:

ReactDOM.render(<MyComponent/>, document.getElementById('MyComponent'));


The error means that somewhere you are attempting to render something which is not an actual component (or string)

As previously stated you need to destructure connect and bindActionCreators because they are not the default export of their respective packages.

As for your error, its equally possible that when you're attempting to render props there is nothing there to render (e.g. its null or undefined) but since you haven't posted the code where you called ReactDOM.render I can't be sure.


I have just spent some time debugging the second error described here and learnt a bit about the ES6 import syntax in the process.

The line:

import connect from 'react-redux';

will import the default export from the react-redux library. This is the source of the error:

Uncaught TypeError: (0 , _reactRedux2.default) is not a function

Changing it to:

import { connect } from 'react-redux';

will import the object from within the react-redux library named connect which in the particular case is what you want. Note the curly braces

Check out the MDN docs here

I have also had a similar error to the first:

Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components).

when I haven't imported my defined components correctly as above.

Related Query

More Query from same tag