问题描述
在选择表中的行时,我面临缓慢的/几乎挂起的性能。 因为我在rowSelect内使用this.setState(sposts:'')
这是示例代码。
class EmployeeDetails extends Component {
constructor(props) {
super(props)
this.state = {
columns: [
{ title: 'Emp Id',field: 'emp_id' },{ title: 'Name',field: 'emp_name' },],posts: [],sposts: [],selectedState: false,selectedRow: 'null',};
}
componentwillMount() {
fetch(
'http://mymachine:4000/api/emp_details?filter[order]=update_date%20DESC' // rest url to fetch data
)
.then(res => res.json())
.then(data => this.setState({ posts: data }));
}
childTableData = (event) => { => childTable is called on every row select in the material table
this.setState({ sposts: '' }); => this line causing slow performance.
};
render() {
const classes = makeStyles(styles);
return (
<div>
<MaterialTable
title=""
columns={this.state.columns}
data={this.state.posts}
onRowClick={(evt,selectedRow) => (this.state.selectedRow = selectedRow.tableData.id) }
options={{
selection: true,selectionProps: rowData => ({ onClick: (event,rowData) => this.childTableData(event.target.value),color: 'primary' }),}}
/>
</div>
);
}
}
export default EmployeeDetails;
在每个行选择中使用setState的方式有问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)