message: feat(redux-hooks): add example implementation using redux hooks
diff: -import React from 'react'
  -import { connect, ConnectedProps } from 'react-redux';
  -import PropTypes from 'prop-types';
  +import React, { useCallback } from 'react'
  +import { useSelector, useDispatch } from 'react-redux';
  import { incrementAction, decrementAction, sumAction } from '../store/example/actions';
  import { AppState } from '../store';
  -const mapStateToProps = (state: AppState) => ({
  - example: state.exampleReducer,
  -});
  +const ExampleContainer: React.FC = () => {
  + const value = useSelector((state: AppState) => state.exampleReducer.value)
  + const dispatch = useDispatch()
  + const increment = useCallback(
  + () => dispatch(incrementAction()),
  + [dispatch]
  + )
  + const decrement = useCallback(
  + () => dispatch(decrementAction()),
  + [dispatch]
  + )
  +
  + const sum = useCallback(
  + (val) => dispatch(sumAction(val)),
  + [dispatch]
  + )
  -const mapDispatch = {
  - increment: incrementAction,
  - decrement: decrementAction,
  - sum: sumAction,
  -}
  -
  -const connector = connect(mapStateToProps, mapDispatch)
  -
  -type PropsFromRedux = ConnectedProps<typeof connector>
  -
  -
  -const ExampleContainer: React.FC<PropsFromRedux> = ({
  - example,
  - increment,
  - decrement,
  - sum,
  -}) => {
  return (
  <div>
  - {example.value}
  + {value}
  <button type="button" onClick={increment}>Increment</button>
  <button type="button" onClick={() => sum(5)}>Add 5</button>
  <button type="button" onClick={decrement}>Decrement</button>
  @@ -36,12 +31,6 @@ const ExampleContainer: React.FC<PropsFromRedux> = ({
  }
  ExampleContainer.propTypes = {
  - example: PropTypes.shape({
  - value: PropTypes.number.isRequired,
  - }).isRequired,
  - increment: PropTypes.func.isRequired,
  - decrement: PropTypes.func.isRequired,
  - sum: PropTypes.func.isRequired,
  }
  -export default connector(ExampleContainer)
  +export default ExampleContainer
  