FluentReader/src/containers/nav-container.tsx
2020-05-31 16:24:52 +08:00

23 lines
798 B
TypeScript

import { connect } from "react-redux"
import { createSelector } from "reselect"
import { RootState } from "../scripts/reducer"
import { fetchItems } from "../scripts/models/item"
import { openMenu, toggleLogMenu, toggleSettings } from "../scripts/models/app"
import Nav from "../components/nav"
const getState = (state: RootState) => state.app
const mapStateToProps = createSelector(getState, (state) => ({
state: state
}))
const mapDispatchToProps = (dispatch) => ({
fetch: () => dispatch(fetchItems()),
menu: () => dispatch(openMenu()),
logs: () => dispatch(toggleLogMenu()),
settings: () => dispatch(toggleSettings())
})
const connector = connect(mapStateToProps, mapDispatchToProps)
export type NavReduxProps = typeof connector
export const NavContainer = connector(Nav)