Skip to content

Commit 3d8ac58

Browse files
committed
fix: use ConnectedProps to resolve TypeScript error in QueryRelease
Replace manual QueryReleaseProps interface with ConnectedProps<typeof connector> so TypeScript correctly infers that Redux-injected props are not required from the parent, fixing the Docker build failure.
1 parent f66854d commit 3d8ac58

1 file changed

Lines changed: 13 additions & 22 deletions

File tree

components/query/QueryRelease.tsx

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { bindActionCreators } from 'redux';
2-
import { connect } from 'react-redux';
2+
import { connect, ConnectedProps } from 'react-redux';
33
import React from 'react';
44
import Head from 'next/head';
55
import Link from 'next/link';
@@ -17,16 +17,18 @@ import {
1717
ThumbnailWrapper, Title, Wrapper,
1818
} from './styles/QueryRelease.styles';
1919

20-
interface QueryReleaseProps {
21-
results?: any[];
22-
query?: string;
23-
loading?: boolean;
24-
queryRelease: () => void;
25-
resetResults: () => void;
26-
setQuery: (query?: string) => void;
27-
}
20+
const mapStateToProps = (state: any) => ({
21+
...(state.query as { results?: any[]; query?: string; loading?: boolean }),
22+
});
23+
24+
const mapDispatchToProps = (dispatch: any) => (
25+
bindActionCreators({ queryRelease, resetResults, setQuery }, dispatch)
26+
);
27+
28+
const connector = connect(mapStateToProps, mapDispatchToProps);
29+
type PropsFromRedux = ConnectedProps<typeof connector>;
2830

29-
class QueryRelease extends React.Component<QueryReleaseProps, { open: boolean; searched: boolean }> {
31+
class QueryRelease extends React.Component<PropsFromRedux, { open: boolean; searched: boolean }> {
3032
inputRef = React.createRef<HTMLInputElement>();
3133

3234
state = {
@@ -133,15 +135,4 @@ class QueryRelease extends React.Component<QueryReleaseProps, { open: boolean; s
133135
}
134136
}
135137

136-
const mapStateToProps = state => ({
137-
...state.query,
138-
});
139-
140-
const mapDispatchToProps = dispatch => (
141-
bindActionCreators({ queryRelease, resetResults, setQuery }, dispatch)
142-
);
143-
144-
export default connect(
145-
mapStateToProps,
146-
mapDispatchToProps,
147-
)(QueryRelease);
138+
export default connector(QueryRelease);

0 commit comments

Comments
 (0)