vitaly_74
@vitaly_74

Можно ли в реакте пользоваться компонентами как обычными объектами?

приветду код:
table() {
        if(this._table === null){
            this._table = new PropertiesTable({data: this.props.data, availableTypes: this.props.availableTypes})
        }
        return this._table;
    }

    render() {
        return (
            <div className="contentbar">
                <div className="row">
                    <div className="col-lg-12">
                        <div className="card m-b-30">
                            <div className="card-body">
                                <div className="btn-toolbar">
                                    <div className="btn-group focus-btn-group">
                                        <button
                                            type="button"
                                            className="btn btn-default"
                                            onClick={this.addRawCallback}
                                        ><span
                                            className="glyphicon glyphicon-screenshot">
                                        </span>
                                            Добавить
                                        </button>
                                    </div>
                                </div>
                                <div className="table-responsive">
                                    {this.table().render()}
                                </div>
                            </div>
                        </div>
                    </div>

                </div>

            </div>
        );
    }

в методе table создается дочерний компонент table
когда вызываю table.render() все показывается. когда пытаюсь вызвать какое то действие в дочернем компоненте то получаю: Warning: Can't call setState on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the PropertiesTable component.
мне бы хотелось делать так: в методе this.addRawCallback добавить просто this.table().addNewRow()
а не через обратные вызовы и передачи функции в дочерний/родительский компонент и не делать общих функций для контекста.
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы