Узнайте, когда вызывается обновление - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть пользовательский компонент, который я показываю на одной из страниц редактирования с помощьюact-admin.

Для компонентов реагирующего администратора при каждом нажатии кнопки обновления страница обновляется автоматически с результатами изсервер.Но для моего компонента мне нужно вручную обновлять компонент при каждом нажатии кнопки обновления.

Снимок экрана кнопки обновления

1 Ответ

0 голосов
/ 03 октября 2018

Мне удалось что-то придумать, чтобы перезагрузить.Я вызываю 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]);
        }
    }
}
...