1
- # Prevent definitions of unused prop types (react/no-unused-prop-types)
1
+ # Prevent definitions of unused propTypes (react/no-unused-prop-types)
2
2
3
- Warns you if you have defined a prop type but it is never being used anywhere .
3
+ Warns if a propType isn't being used.
4
4
5
5
## Rule Details
6
6
7
7
The following patterns are considered warnings:
8
8
9
9
``` jsx
10
- var Hello = createReactClass ({
11
- propTypes: {
12
- name: PropTypes .string
13
- },
14
- render : function () {
10
+ class Hello extends React .Component {
11
+ render () {
15
12
return < div> Hello Bob< / div> ;
16
13
}
17
14
});
18
15
19
- var Hello = createReactClass ({
20
- propTypes: {
21
- firstname: PropTypes .string .isRequired ,
22
- middlename: PropTypes .string .isRequired , // middlename is never used below
23
- lastname: PropTypes .string .isRequired
24
- },
25
- render : function () {
16
+ Hello .propTypes = {
17
+ name: PropTypes .string
18
+ },
19
+ ```
20
+
21
+ ``` jsx
22
+ class Hello extends React .Component {
23
+ render () {
26
24
return < div> Hello {this .props .firstname } {this .props .lastname }< / div> ;
27
25
}
28
- });
26
+ }
27
+
28
+ Hello .propTypes : {
29
+ firstname: PropTypes .string .isRequired ,
30
+ middlename: PropTypes .string .isRequired , // middlename is never used above
31
+ lastname: PropTypes .string .isRequired
32
+ },
29
33
```
30
34
31
35
The following patterns are ** not** considered warnings:
32
36
33
37
``` jsx
34
- var Hello = createReactClass ({
35
- propTypes: {
36
- name: PropTypes .string
37
- },
38
- render : function () {
38
+ class Hello extends React .Component {
39
+ render () {
39
40
return < div> Hello {this .props .name }< / div> ;
40
41
}
41
- });
42
+ };
43
+
44
+ Hello .propTypes : {
45
+ name: PropTypes .string
46
+ },
42
47
```
43
48
44
49
## Rule Options
@@ -59,12 +64,13 @@ This rule can take one argument to ignore some specific props during validation.
59
64
60
65
- [ False Positives: SFC (helper render methods)] ( #false-positives-sfc )
61
66
62
- ### False positives SFC
63
- For components with Stateless Functional Components (often used as helper render methods);
64
- SFC is a function that takes prop(s) as an argument and returns a JSX expression.
65
- Even if this function gets called from a component the props that are only used inside SFC would not be considered used by a component.
67
+ ### False Positives SFC
68
+
69
+ Stateless Function Components (SFCs) accept props as an argument and return a JSX expression.
70
+ Even if the function gets called from a component, the props that are only used inside the component are not be considered used by a component.
66
71
67
72
Triggers false positive:
73
+
68
74
``` js
69
75
function AComponent (props ) {
70
76
function helperRenderer (aProp ) { // is considered SFC
0 commit comments