Я пытаюсь интегрировать машинописный текст с моим существующим кодом (act-redux), пока я сталкиваюсь с ошибкой «Аргумент типа 'FunctionComponent' не может быть назначен параметру типа 'ComponentType, IProps >>'."
interface IProps{
dispatch : Dispatch<AppActions>;
theme: string
}
const Header: React.FC<IProps> = ({ dispatch, theme }):any => {
const classes = useStyles();
const [term, setTerm] = React.useState('');
const searchFunc = () => {
Router.push(`/search?q=${term}`);
};
return (
<>
<CssBaseline />
<AppBar position="fixed">
<Toolbar className={classes.appBarContent}>
<img className={classes.logo} alt="Home" src="https://img1a.flixcart.com/www/linchpin/fk-cp-zion/img/flipkart-plus_4ee2f9.png" />
<div className={classes.search}>
<InputBase
placeholder="Search…"
classes={{
input: classes.inputInput,
}}
value={term}
onChange={(event) => { setTerm(event.target.value); }}
inputProps={{ 'aria-label': 'search' }}
/>
<IconButton
className={classes.searchButton}
aria-label="Search"
onClick={() => searchFunc()}
>
<SearchIcon />
</IconButton>
</div>
<IconButton
className={classes.themeButton}
onClick={() => dispatch(appActions.changeTheme(theme === 'light' ? 'dark' : 'light'))}
>
<HighlightIcon />
</IconButton>
</Toolbar>
</AppBar>
<Toolbar />
</>
);
};
Header.propTypes = {
dispatch: PropTypes.func.isRequired,
};
const mapStateToProps = (state:AppState) => ({
theme: state.app.theme,
});
export default connect(mapStateToProps)(Header);
Я получаю сообщение об ошибке: Аргумент типа 'FunctionComponent<IProps>'
не может быть назначен параметру типа 'ComponentType<Matching<{ theme: String; } & DispatchProp<AnyAction>, IProps>>'
. Тип 'FunctionComponent<IProps>'
нельзя назначить типу 'FunctionComponent<Matching<{ theme: String; } & DispatchProp<AnyAction>, IProps>>'
. Типы параметров «реквизит» и «реквизит» несовместимы. Тип 'PropsWithChildren<Matching<{ theme: String; } & DispatchProp<AnyAction>, IProps>>'
нельзя назначить типу 'PropsWithChildren<IProps>'
. Тип 'PropsWithChildren<Matching<{ theme: String; } & DispatchProp<AnyAction>, IProps>>'
нельзя назначить типу 'IProps'. Типы свойств 'тема' несовместимы. Тип «Строка» нельзя назначить типу «строка». 'string' является примитивом, но 'String' является объектом-оболочкой. Предпочитаю использовать 'string', когда это возможно.