setState () перезагружает всю страницу вместо рендеринга только компонента - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь обновить таблицу в моем компоненте.Как только я получу новое значение для метода, я соединяю это значение с массивом и вызываю метод setState.Но вместо повторного рендеринга только компонента, он перезагружает всю страницу и отображает только предыдущие значения массива.

Мой код такой:

export default class DataSrcInfoFields extends React.Component {

constructor(props){
    super(props);

    this.state = {
        dataSrcFieldList : this.props.fields,
    };

    this.handleNewRowSubmit = this.handleNewRowSubmit.bind(this);
    this.handleRowRemoval = this.handleRowRemoval.bind(this);
}

handleNewRowSubmit(dataSrcFieldVal){
    const newList = this.state.dataSrcFieldList.concat(dataSrcFieldVal);

    this.setState({dataSrcFieldList: newList});
}

handleRowRemoval(field){

}

render(){
    return(
        <div>
            <div>
                <DataSrcInfoFieldList dsFieldList={this.state.dataSrcFieldList} onFieldRemove={this.handleRowRemoval} />
            </div>
            <div>
                <DataSrcInfoAddField onNewFieldSubmit={this.handleNewRowSubmit} />
            </div>
        </div>
    );
}

}

Я попытался напечатать новыйзначение (dataSrcFieldVal) внутри метода, поэтому проблем с этим нет.Также создается массив newList с включенным в него dataSrcFieldVal.Я также связал метод handleNewRowSubmit в конструкторе.

Может кто-нибудь помочь мне решить эту проблему и сказать, где я ошибаюсь?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...