分页状态组件我移到父组件。
页面上的分页currentPage
状态更改应更新,但现在不更新。
当currentPage
-国家/地区处于本地状态时,它的工作方式如下:
class Pagination extends React.Component {
state = {
currentPage: 1,
};
componentDidMount() {
this.gotoPage(1);
}
gotoPage = (page) => {
const { onPageChanged = (f) => f } = this.props;
const { totalPages, totalRecords } = this.state;
const currentPage = Math.max(0, Math.min(page, totalPages));
const paginationData = {
currentPage,
totalPages,
totalRecords
};
this.setState({ currentPage }, () => onPageChanged(paginationData));
};
在这种情况下,状态已更新。
现在我向下传递updatePaginationPage
函数以更新状态:
gotoPage = (page) => {
const { updatePaginationPage } = this.props;
const { totalPages } = this.state;
const currentPage = Math.max(0, Math.min(page, totalPages));
() => updatePaginationPage(currentPage);
};
updatePaginationPage
功能的外观如下:
updatePaginationPage = (currentPage) => {
this.setState({ currentPage }, () => this.onPageChanged(currentPage));
};
与以前相同,但状态未更新。
为什么状态没有更新?
答案 0 :(得分:4)
更改:
gotoPage = (page) => {
...
() => updatePaginationPage(currentPage);
};
收件人:
gotoPage = (page) => {
...
updatePaginationPage(currentPage);
};