Я пытаюсь закодировать компонент React Stateless Function в TypeScript. Пожалуйста, посмотрите код ниже:
import * as React from 'react';
import {observer} from 'mobx-react';
export interface LinkProps {
view: any;
className: any;
params?: any;
queryParams?: any;
store?: any;
refresh: boolean;
style?: any;
children: any;
title?: any;
router: any;
}
const Link: React.SFC<LinkProps> = ( // <----- Error on this line
{
view,
className,
params = {},
queryParams = {},
store = {},
refresh = false,
style = {},
children,
title = children,
router = store.router
}) => {
...
}
export default observer(Link);
Однако компилятор выдает ошибку const Link
:
src / components / Link.tsx (17,7): ошибка TS2322: Type '({view, className, params, queryParams, store, refresh, style, children, title, router}: LinkPr ...' не назначается Тип "StatelessComponent". Тип "void | Element" не может быть назначен типу "ReactElement". Тип "void" не может быть назначен типу "ReactElement".
Что я делаю неправильно?
Вот зависимости версий в моем файле pckage.json:
"@types/react": "^16.0.29",
"@types/react-dom": "^16.0.3",
"del-cli": "^1.1.0",
"mobx": "^3.4.1",
"mobx-react": "^4.3.5",
"react": "^16.2.0",
"typescript": "^2.6.2"
Заранее спасибо!
const Link: React.SFC<LinkProps> = (props) => { return...your impl}
мы забыли аргумент - person theforce   schedule 14.12.2017return
. - person Aluan Haddad   schedule 14.12.2017return console.log(....)
, таким образом вернув пустоту (перенос чужого кода!). Итак, Алуан, если вы запишете свой комментарий в качестве ответа, я отмечу его как правильный. Спасибо вам обоим за помощь. - person Naresh   schedule 14.12.2017