Skip to content

Instantly share code, notes, and snippets.

@steinfletcher
Last active July 13, 2018 07:53
Show Gist options
  • Save steinfletcher/91d15a70f91352e8369656b6f3af71dd to your computer and use it in GitHub Desktop.
Save steinfletcher/91d15a70f91352e8369656b6f3af71dd to your computer and use it in GitHub Desktop.
React Redux Typescript Template
import * as React from 'react'
import * as Redux from 'redux'
import { MyReduxState } from './my-root-reducer.ts'
export interface OwnProps {
propFromParent: number
}
interface StateProps {
propFromReduxStore: string
}
interface DispatchProps {
onSomeEvent: () => void
}
type Props = StateProps & DispatchProps & OwnProps
interface State {
internalComponentStateField: string
}
class MyComponent extends React.Component<Props, State> {
...
}
function mapStateToProps(state: MyReduxState, ownProps: OwnProps): StateProps {
...
}
function mapDispatchToProps(dispatch: Redux.Dispatch<any>, ownProps: OwnProps): DispatchProps {
...
}
export default connect<StateProps, DispatchProps, OwnProps>
(mapStateToProps, mapDispatchToProps)(MyComponent)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment