Попытка обновить открытые экземпляры одной и той же страницы в любом браузере

#reactjs

#reactjs

Вопрос:

Пытаюсь обновить открытые экземпляры одной и той же страницы в любом браузере, но код, который я пытаюсь, обновляет только текущую вкладку. Мне нужно обновить все одинаковые страницы.

 setInterval(
            () => {
                this.CheckFileStatus()
            },
            20000
        );
  
 CheckFileStatus() {
        if (this.state.canImport === false) {
            const data = {
                "query": "query{fileStatus{status}}"
            };
            API.getItems(data).then(items => {
                if (items !== null amp;amp; items.fileStatus.status === true) {
                     this.openImportStatusMessagePopUp("some msg");
                }
                else {
                    if (global.successMsg !== '') {
                        this.props.alert.success(global.successMsg);
                        window.location.reload();
                        global.successMsg = '';
                    }

                }
            });
        }
    }
```
  

Комментарии:

1. Я не думаю, что вы можете сделать это с помощью react. Каковы требования к функции?

2. Допустим, я открыл одну и ту же страницу на нескольких вкладках, и когда мой метод, который вызывается каждые 20 секунд, обновляет текущую вкладку, мне нужно обновить все открытые вкладки, чтобы пользователю нужно было обновить это вручную. Я обновляю страницу в определенном случае

3. Что вы можете сделать, так это то, что каждая вкладка по прошествии 20 секунд будет обновляться самостоятельно. И просто вместо использования window.location.reload() используйте window.location.reload(true);

Ответ №1:

Что вы можете сделать, так это то, что каждая вкладка по прошествии 20 секунд будет обновляться самостоятельно (что вы на самом деле и делаете). И просто вместо использования window.location.reload() используйте window.location.reload(true);

См https://webplatform.github.io/docs/apis/location/reload /

Комментарии:

1. Да, передавая true в reload, он обновляет все вкладки одной страницы.. спасибо, вы спасли мой день