在 mySort 方法中调用 this.props.fetch() 时出现错误。this.props.mySort 从后端收集按相应列排序的新数据。错误是:警告:在现有状态转换期间无法更新(例如在 内render
)。渲染方法应该是 props 和 state 的纯函数。this.props.fetch 现在在无限循环中调用。
我怎样才能解决这个问题?
最好的问候,约阿希姆
constructor(props) {
super(props)
let columns = [
{ field: "foo", header: "bar", sortable: true, sortFunction: this.mySort }
]
this.state = {
cols: columns
}
this.colOptions = []
for (let col of this.state.cols) {
this.colOptions.push({ label: ` ${col.header}`, value: col })
}
}
mySort = (e) => {
if (e.order === 1) {
console.log("1")
this.props.fetch({...)}
} else {
...}
}
render() {
let columnData = this.state.cols.map((col, i) => {
return <Column className="columnheader" style={col.style} key={col.field} field={col.field}
header={col.header} sortable={col.sortable} sortFunction={col.sortFunction} body={col.body} expander={col.expander} />
})
return(
<DataTable value={fetchResults} >
{columnData}
</DataTable>
)
}