2017-08-15 28 views
6

Tôi đang thiết lập React mới với sự trợ giúp của: https://github.com/facebookincubator/create-react-app'Proptypes' không được xác định

Tuy nhiên, tôi đang gặp sự cố linting. Tôi nhận được lỗi linting sau đây 'PropTypes' is not defined. (no-undef).

Đây là đoạn mã đó gây ra vấn đề:

import React, { Component } from 'react'; 
import PropTypes from 'prop-types'; 

class Routers extends Component { 
    static propTypes = { 
    history: PropTypes.object.isRequired 
    }; 

... 

tôi đã cố gắng chơi đùa với các quy tắc react/prop-types, nhưng vô ích.

+0

Tôi không thể thấy bất cứ điều gì sai ở đây, bạn đang sử dụng webpack? Bạn có thể chia sẻ cấu hình .. – Purgatory

+0

@Purgatory Tôi tin [create-react-app] (https://github.com/facebookincubator/create-react-app) đang sử dụng webpack. Nhưng tôi không sử dụng webpack riêng biệt. – Lars

+0

Có phải 'PropTypes 'không được định nghĩa' hoặc'' propTypes 'không được định nghĩa' – Purgatory

Trả lời

4

Theo vấn đề này comment.

Dường như là do bạn đã cài đặt eslint 4.x khi bạn chỉ nên sử dụng phiên bản eslint được vận chuyển với create-react-app. Bạn nên loại bỏ bất kỳ eslint nào bạn đã cài đặt theo cách thủ công và sử dụng một gói đi kèm với repo.

+0

Điều này dường như là vấn đề. Tôi đã chạy 'npm run eject' để giải nén cấu hình của gói' react-create-app'. Sau này, tôi đã chỉnh sửa package.json để sử dụng phiên bản eslint 3. – Lars

-3

Vui lòng cài đặt gói npm loại prop - phản ứng 1.15 trở lên trên gói riêng được tạo.

Here to install package

+0

Bạn có thể thấy ở trên rằng anh ta đã nhập gói 'prop-types' riêng biệt. – Purgatory

+0

Tôi đã cài đặt gói npm kiểu chống đỡ. – Lars

-1

Bạn có thể đặt PropTypes ngay sau lớp (bên ngoài lớp):

Routers.propTypes = { 
    history: PropTypes.object.isRequired 
} 
Các vấn đề liên quan