when i am trying to state this.setState({ ["node_" + n]: test_node }) i am getting error  this.setState is not a function , here i have uploaded my full code, can anyone please check my code and help me to resolve this issue ? 
import createEngine, { DiagramModel, DefaultNodeModel, DefaultLinkModel } from '@projectstorm/react-diagrams';
import * as React from 'react';
import { CanvasWidget } from '@projectstorm/react-canvas-core';
import { DemoCanvasWidget } from '../helpers/DemoCanvasWidget';
const data_json = require('../client-demo-simple/data.json');
const all_tables = data_json.base.tables;
console.log(all_tables)
export default () => {
    this.state = {
        node_level: []
    }
    //1) setup the diagram engine
    var engine = createEngine();
    //2) setup the diagram model
    var model = new DiagramModel();
    //3-A) create a default node
    let test_node = null;
    for (let n = 0; n < all_tables.length; n++) {
        let table_name = all_tables[n].name;
        let table_description = all_tables[n].description;
        let table_fields = all_tables[n].fields;
        let random_number_1 = Math.floor(Math.random() * 101);
        let random_number_2 = Math.floor(Math.random() * 101);
        let random_number_3 = Math.floor(Math.random() * 101);
        test_node = new DefaultNodeModel({
            name: table_name,
            color: 'rgb(' + random_number_1 + ',' + random_number_2 + ',' + random_number_3 + ')'
        });
        this.setState({ ["node_" + n]: test_node })
        test_node.setPosition(100, 100);
        for (let n = 0; n < table_fields.length; n++) {
            let field_name = table_fields[n].name;
            test_node.addOutPort(field_name);
        }
        model.addAll(test_node);
    }
    engine.setModel(model);
    model.setLocked(true);
    return (
        <DemoCanvasWidget>
            <CanvasWidget engine={engine} />
        </DemoCanvasWidget>
    );
};