diff --git a/src/app.tsx b/src/app.tsx index 88deb3e..0bb6991 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -28,7 +28,7 @@ export default class App extends React.Component {

Mega App

Username: - + {}}/>
) diff --git a/src/article-list.tsx b/src/article-list.tsx index 1c3ddfc..d279c9d 100644 --- a/src/article-list.tsx +++ b/src/article-list.tsx @@ -1,7 +1,6 @@ import * as React from 'react' import Article from './article-new' import {IArticle} from './article' -import withAccordion from './decorators/accordion' interface Props { articles: IArticle[] @@ -9,7 +8,7 @@ interface Props { openItemId?: string } -class ArticleList extends React.PureComponent { +export default class ArticleList extends React.PureComponent { render() { const { articles, openItemId, toggleOpenItem } = this.props return ( @@ -24,5 +23,3 @@ class ArticleList extends React.PureComponent { ) } } - -export default withAccordion(ArticleList) diff --git a/src/decorators/accordion.tsx b/src/decorators/accordion.tsx index 33ba3db..5f44ad6 100644 --- a/src/decorators/accordion.tsx +++ b/src/decorators/accordion.tsx @@ -10,8 +10,8 @@ interface AdditionalProps { toggleOpenItem: (item: IArticle) => void } -export default function withAccordion(OriginalComponent: React.ComponentType) { - return class Accordion extends React.Component, State> { +export default function withAccordion(OriginalComponent: React.ComponentType) { + return class Accordion extends React.Component { state: State = { openItemId: undefined } diff --git a/src/index.tsx b/src/index.tsx index b9c0e9c..4f5215e 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,6 +1,10 @@ import * as React from 'react' import * as ReactDOM from 'react-dom' import articles from './fixtures.json' -import App from './app' +import {IArticle} from "./article"; +import withAccordion from "./decorators/accordion"; +import ArticleList from "./article-list"; -ReactDOM.render(, document.getElementById('root')) +const ArticleListWithAccordion = withAccordion<{articles: IArticle[]}>(ArticleList); + +ReactDOM.render(, document.getElementById('root'));