Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ReactJS - Warning: React.createElement: type should not be null

Tags:

reactjs

Stuck with sample code from book learning React. Code below throwing 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). Check the render method of 'Card'.. Checked SO (there are couple with similar issues) but I couldn't figure out what's wrong here.

import React, {Component} from 'react';
import {render} from 'react-dom';
import CheckList from './CheckList';

class Card extends Component {
    render() {
        return (
            <div className="card">
                <div className="card__title">{this.props.title}</div>
                <div className="card__details">
                    {this.props.description}
                    <CheckList cardId={this.props.id} tasks={this.props.tasks} />
                </div>
            </div>
        );
    }
}

CheckList.js

class CheckList extends Component{
    render(){
          let tasks = this.props.tasks.map((task)=>(
            <li className="checklist__task">
                <input type="checkbox" defaultChecked={task.done} />
                {task.name}

            </li>
        ));
        return (
            <div className="checklist">
                <ul>{tasks}</ul>
            </div>
        );
    }
}
like image 448
Bala Avatar asked Mar 10 '16 12:03

Bala


1 Answers

You need to export CheckList

Change your class definition to:

export default class CheckList extends Component{
like image 115
Nour Sammour Avatar answered Nov 10 '22 19:11

Nour Sammour