我正在尝试更新组件中的表格。一旦我获得了该方法的新值,我将该值连接到数组并调用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方法。
任何人都可以帮我解决这个问题并告诉我哪里出错了?
谢谢!