Không có giới hạn toàn cầu


168

Tôi đang sử dụng React và Redux để phát triển một ứng dụng web và khi tôi bắt đầu dự án của mình, tôi đã nhận được điều này:

Line 13:  Unexpected use of 'location'  no-restricted-globals

Search for the keywords to learn more about each error.

Tôi tìm kiếm rất nhiều về cách giải quyết nó, nhưng không có câu trả lời nào tôi tìm thấy giúp tôi, vì vậy tôi chuyển sang Stack overflow.

Có ai biết làm thế nào để sửa lỗi này? Tôi đánh giá cao tất cả sự giúp đỡ tôi có thể nhận được.

Câu trả lời:


406

Hãy thử thêm windowtrước location(nghĩa là window.location).


15
Đây phải là câu trả lời được chấp nhận. ESLint chính xác cho bạn biết rằng bạn đang viết mã yếu. Hai câu trả lời khác, bao gồm câu trả lời được chấp nhận, không giải quyết vấn đề mà chỉ vô hiệu hóa ESLint khỏi việc cho bạn biết về nó.
eMike Wallace

Thật vậy, cách chính xác để khắc phục điều này là xác định vị trí tiền tố với window.location. Vì một số lý do, nhóm CRA hiện đang xem xét location"trình duyệt toàn cầu khó hiểu". Tôi muốn nói rằng nếu bạn đang sử dụng CRA và không biết về đối tượng vị trí, bạn đang ở vùng đất không có người. Có lẽ họ chỉ muốn làm cho việc đọc url trở nên khó chịu, điều này có thể hiểu được ...
Devin G Rhode

Tôi đã tạo một vấn đề github đặc biệt hỏi liệu locationđối tượng có thực sự là một trình duyệt khó hiểu trên toàn cầu hay không, do đó cần window.tiền tố ở mọi nơi ... github.com/facebook/create-react-app/issues/7733
Devin G Rhode

5

Đây là một giải pháp đơn giản và có thể không phải là tốt nhất, nhưng nó hoạt động.

Trên dòng phía trên dòng bạn nhận được lỗi của bạn, dán này:

// eslint-disable-next-line no-restricted-globals


5
Giải pháp tốt cho một dự án ứng dụng tạo phản ứng khi nội tuyến nhân viên dịch vụ như các đốm màu. Nâng cao.
adc

7
Điều này không giải quyết được vấn đề, chỉ che giấu cảnh báo.
Vladimir Nul

-2
/* eslint no-restricted-globals:0 */

là một cách tiếp cận khác

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.