找出何时调用刷新

Find out when refresh is called

我有一个自定义组件,我正在使用 react-admin 显示在其中一个编辑页面中。

对于 react-admin 组件,只要单击刷新按钮,页面就会自动更新服务器的结果。但是对于我的组件,我需要在单击刷新时手动更新组件。

Refresh button screenshot

我想出了一些可以重新加载的东西。每当组件收到道具时,我都会调用 loadUsersFromProps。

componentWillReceiveProps(nextProps) {
    this.loadUsersFromProps(nextProps);
}

loadUsersFromProps(nextProps) {
    const userIDs = this.state.selectedUsers.map(user => user.userID);
    this.loadFromRecord(this.props, nextProps, 'userIDs', userIDs, this.fetchAndLoadUsersByIDs);
}

loadFromRecord(currProps, nextProps, key, stateValue, loadFunction) {
    let reloadRequired = false;
    if (nextProps.record && nextProps.record[key]) {
        if (currProps.record) {
            if (nextProps.record[key] !== currProps.record[key]) {
                reloadRequired = true;
            }
        } else {
            reloadRequired = true;
        }
        if (nextProps.record[key] !== stateValue) {
            reloadRequired = true;
        }
        if (reloadRequired) {
            loadFunction(nextProps.record[key]);
        }
    }
}