所以我的Component看起来像下面提到的那样。 第一次呈现组件时,它会设置状态。但是对于第二次调用,道具保存新数据,但它从不设置状态。相反,状态有先前的数据。不确定是什么使行为。我感兴趣的状态是&#39;数据&#39; < / p>
class MuiTable extends React.Component {
constructor(props) {
super(props);
this.state = {
order: 'asc',
orderBy: this.props.columnData[0].id,
selected: this.props.defaultAllSelect !== undefined && this.props.defaultAllSelect ? this.props.data.map(d=> d[this.props.uniqueKey]) : [],
data: this.props.isSortable ? this.props.data.sort((a, b) => (a[this.props.columnData[0].id] < b[this.props.columnData[0].id] ? -1 : 1)) : this.props.data,
page: 0,
rowsPerPage: this.props.rowsPerPage,
uniqueKey: this.props.uniqueKey
};
}
}
答案 0 :(得分:0)
请尝试实现componentWillReceivedProps(nextProps)方法并使用this.setState();更新你的州。
这可能会对您有所帮助:React lifecycle
答案 1 :(得分:0)
这是正常的,因为这是构造函数方法 您应该阅读组件生命周期方法doc
对于生命周期的更新部分,它会: