如何更新道具依赖状态

How to update props dependent state

我有连接到 redux 存储的组件,它从 props 获取数据:

const mapStateToProps = state => ({rowData: dataSelector(state)})

组件有自己的状态:

this.state = {
  rowsPerPage: 23,
  pageCount: 0,
}

我需要在 props.rowData 变化时计算新的 state.pageCount。我该怎么做?

您可以使用 getSnapshotBeforeUpdate 来确定 props.rowData 何时更改,方法是使用 if 条件。根据值更改的时间,您可以按照您想要的方式更新 state.pageCount

请创建 componentWillReceiveProps

componentWillReceiveProps(newProps) {
if(newProps.rowData.length !== this.state.pageCount) {this.setState({pageCount: newProps.rowData.length})}
}