如何更新道具依赖状态
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})}
}
我有连接到 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})}
}