@@ -96,6 +96,41 @@ ruleTester.run('no-unused-prop-types', rule, {
96
96
myProp: PropTypes.string.isRequired
97
97
};
98
98
99
+ export default connect(mapStateToProps)(MyComponent);` ,
100
+ `const selectorFoo = (state) => ({isFetching: false, name: 'Foo', isDeleting: false, deltedId: ''});
101
+ const selectorBar = (state) => ({ isFetching: false, name: 'Bar'});
102
+ export const mapStateToProps = (state) => {
103
+ const { isFetching: isFetchingFoo, ...restFoo } = selectorFoo(state);
104
+ const { isFetching: isFeatchingBar, ...restBar } = selectorBar(state);
105
+ return {
106
+ isFetchingFoo,
107
+ isFetchingBar,
108
+ ...restFoo,
109
+ ...restBar,
110
+ };
111
+ };
112
+ export class MyComponent extends Component {
113
+ render() {
114
+ const {isFetchingFoo, name, isFetchingBar, isDeleting, deletedId} = this.props;
115
+ return (
116
+ <div>
117
+ <span>{isFetchingFoo}</span>
118
+ <span>{isDeleting}</span>
119
+ <span>{isFetchingBar}</span>
120
+ <span>{name}{deletedId}</span>
121
+ </div>
122
+ )
123
+ }
124
+ };
125
+
126
+ MyComponent.propTypes = {
127
+ isFetchingFoo: PropTypes.bool.isRequired,
128
+ isDeleting: PropTypes.bool.isRequired,
129
+ deletedId: PropTypes.number.isRequired,
130
+ name: Proptypes.string.isRequired,
131
+ isFetchingBar: PropTypes.bool.isRequired,
132
+ };
133
+
99
134
export default connect(mapStateToProps)(MyComponent);` ,
100
135
] ,
101
136
invalid : [ {
0 commit comments