withRouter с реактивным-редуксным соединением, вызывающим ошибку при машинописи - PullRequest
0 голосов
/ 19 марта 2020

Я исправлял ошибку в activ-router-dom, где мне нужно было обернуть соединение с withRouter , я исправил проблему с этим решением, но сейчас у меня есть проблема с машинописью, я получение этой ошибки.

enter image description here

Здесь приведен раздел кода, в котором возникает проблема

enter image description here

А вот и весь мой файл компонента

import * as React from 'react'
    import { connect } from 'react-redux'
    import { bindActionCreators } from 'redux'
    import { pageHeaderHeight } from '../../utils/theme'
    import { closeDrawerMenu, openDrawerMenu } from '../../redux/ActionCreators/DialogActions'
    import PageHeaderLogo from './PageHeaderLogo/pageHeaderLogo'
    import SearchInput from './SearchInput'
    import DrawerMenuItem from '../DrawerMenu/DrawerMenuItem'
    import { AppBar, Toolbar, Typography } from '@material-ui/core'
    import { withRouter } from 'react-router-dom'
    import {
        RootReducerInterface,
        OpenDrawerInterface,
        CloseDrawerInterface,
    } from '../../utils/interfaces'

    const PageHeader: React.FC<Props> = (props) => {

        return (
            <AppBar position='fixed' style={ appBarStyle } elevation={1}>
                <Toolbar style={ toolbarStyle }>
                    <PageHeaderLogo/>
                    <SearchInput/>
                    <div style={menuOptions}>
                        <DrawerMenuItem route='/tutorial'/>
                        <DrawerMenuItem route='/partners'/>
                        <DrawerMenuItem route='/register'/>
                        <DrawerMenuItem route='/login'/>
                    </div>
                </Toolbar>
            </AppBar>
        )
    }

    const mapStateToProps = (state: RootReducerInterface) => ({
        drawerIsOpen: state.DialogReducer.drawerIsOpen,
    })
    const mapDispatchToProps = (dispatch: any) => 
        bindActionCreators({ openDrawerMenu, closeDrawerMenu }, dispatch)

    export default withRouter(connect<StateProps, DispatchProps, OwnProps>(
        mapStateToProps,
        mapDispatchToProps
    )(PageHeader))

    /////////////////////////////////////////////////////////////////
    ///////////////////////////// STYLES ////////////////////////////
    /////////////////////////////////////////////////////////////////
    const appBarStyle = {
        padding: '0 10px',
        height: pageHeaderHeight,
        background: '#fff'
    }
    const toolbarStyle = {
        display: 'flex',
        alignItems: 'center',
        justifyContent: 'space-between',
        width: '100%',
        height: '100%',
        padding: 0,
    }
    const menuOptions = {
        display: 'flex',
        flexDirections: 'row',
        width: '50%',
    }

    /////////////////////////////////////////////////////////////////
    /////////////////////////// INTERFACES //////////////////////////
    /////////////////////////////////////////////////////////////////
    interface OwnState {}

    interface OwnProps {}

    interface StateProps {
        drawerIsOpen: boolean
    }

    interface DispatchProps {
        openDrawerMenu: OpenDrawerInterface
        closeDrawerMenu: CloseDrawerInterface
    }

    type Props = StateProps & DispatchProps & OwnProps
    type State = OwnState

Я только что выбрал этот проект, и у меня нет опыта работы с машинописью, я не знаю, что вызывает эту проблему, пожалуйста, помогите мне

1 Ответ

0 голосов
/ 19 марта 2020

Я исправил эту проблему, добавив любой после (PageHeader), если кто-то может дать дальнейшее объяснение, которое было бы замечательно

 export default withRouter(
                connect<StateProps, DispatchProps, OwnProps>(
                mapStateToProps,
                mapDispatchToProps
            )(PageHeader) as any)
...