Соответствующая подпись следующая
<TStateProps = {}, TDispatchProps = {}, TOwnProps = {}, State = {}>(
mapStateToProps: MapStateToPropsParam<TStateProps, TOwnProps, State>,
mapDispatchToProps: MapDispatchToPropsNonObject<TDispatchProps, TOwnProps>
)
При пропуске последнего State
по умолчанию используется {}
.
Вы должны звонить connect<StateFromProps, DispatchFromProps, NavbarContainerProps, StoreState>(...)(...)
. Подумайте connect<ReduxInjected, DispatchInjected, GivenByParentWhenUsingThisComponent, ReduxStoreType>
.
Обратите внимание, что я немного изменил интерфейс, ваш Props
должен быть NavbarContainerProps
и включать только реквизиты, которые передаются вручную (не из магазина).
Затем я хотел бы написать псевдоним типа type Props = StateFromProps & DispatchFromProps & NavbarContainerProps;
, который вы используете для определения компонента.
class NavbarContainer extends React.Component<Props, {}> {
...
}