File tree Expand file tree Collapse file tree 6 files changed +2873
-427
lines changed Expand file tree Collapse file tree 6 files changed +2873
-427
lines changed Original file line number Diff line number Diff line change @@ -38,21 +38,28 @@ export default class App extends React.Component<AppProps, AppState> {
3838 }
3939
4040 render ( ) {
41+ const { items } = this . state ;
4142
42- var listuff = this . state . items . map ( ( item , i ) => < li key = { i } > { item } </ li > ) ;
43-
44- return (
45- < div id = "app" >
46- < Header />
47- < Main >
48- < h1 > Hello world</ h1 >
49- < ul >
50- { listuff }
51- </ ul >
52- < Button onClick = { this . handleAdd } disabled = { this . state . disabled } className = "blue-btn" value = "Add Item Button" />
53- < Button onClick = { this . handleSort } disabled = { this . state . disabled } className = "gold-btn" value = "Sort Items" />
54- </ Main >
55- </ div >
56- )
43+ return ( < div className = "container" >
44+ < Header />
45+ < Main >
46+ < ul >
47+ { items . map ( ( item , i ) =>
48+ < li key = { i } > { item } </ li >
49+ ) }
50+ </ ul >
51+ < Button
52+ onClick = { this . handleAdd }
53+ disabled = { this . state . disabled }
54+ type = "primary"
55+ value = "Add Item" />
56+ < br />
57+ < Button
58+ onClick = { this . handleSort }
59+ disabled = { this . state . disabled }
60+ type = "warning"
61+ value = "Sort Items" />
62+ </ Main >
63+ </ div > ) ;
5764 }
5865}
Original file line number Diff line number Diff line change 11import * as React from 'react' ;
22
33interface ButtonProps {
4- className : 'gray-btn ' | 'dark-gray-btn ' | 'blue-btn ' | 'gold-btn ' ;
4+ type : 'default ' | 'primary ' | 'success ' | 'info' | 'warning' | 'danger ';
55 value : string ;
66 disabled : boolean ;
77 onClick : ( e : React . MouseEvent < HTMLButtonElement > ) => void ;
88}
99
10- export default class Button extends React . Component < ButtonProps , { } > {
11- render ( ) {
12- const { className, value, disabled, onClick } = this . props ;
13- return (
14- < button type = "button"
15- onClick = { onClick }
16- disabled = { disabled || false }
17- className = { className || 'blue' } >
18- { value || 'Do it' }
19- </ button >
20- ) ;
21- }
10+ export default function Button ( props : ButtonProps ) {
11+ const { type, value, disabled, onClick } = props ;
12+
13+ return ( < button type = "button"
14+ onClick = { onClick }
15+ disabled = { disabled || false }
16+ className = { 'btn btn-' + type } >
17+ { value }
18+ </ button > ) ;
2219}
Original file line number Diff line number Diff line change 11import * as React from 'react' ;
22import Menu from './menu' ;
33
4- export default class Header extends React . Component < { } , { } > {
5- render ( ) {
6- return (
7- < header role = "banner" className = "clearfix" >
8- < div className = "top-header" >
9- < a href = "#" > Logo</ a >
10- </ div >
11-
12- < nav id = "navigation" className = "closed clearfix" >
13- < Menu />
14- </ nav >
15- < button className = "nav-toggle" id = "nav-toggle" > Menu</ button >
16- </ header >
17- )
18- }
4+ export default function Header ( ) {
5+ return ( < header role = "banner" >
6+ < h1 > Hello React</ h1 >
7+ </ header > ) ;
198}
Original file line number Diff line number Diff line change 11import * as React from 'react' ;
22
3- export default class Main extends React . Component < { } , { } > {
4- render ( ) {
5- return (
6- < div className = "main" role = "main" > { this . props . children } </ div >
3+ export default function Main ( props : { children : React . ReactNode [ ] } ) {
4+ const { children } = props ;
5+ return (
6+ < div role = "main" > { children } </ div >
77 ) ;
8- }
98}
Original file line number Diff line number Diff line change @@ -62,9 +62,16 @@ export default class Menu extends React.Component<{}, MenuState> {
6262 render ( ) {
6363 const { isVisible } = this . state ;
6464 return (
65- < ul role = "navigation" className = "clearfix" >
65+ < ul role = "navigation" >
6666 { data . map ( ( o , i ) =>
67- < MenuItem key = { o . id } id = { o . id } text = { o . text } href = { o . href } subitems = { o . subitems } onClick = { this . handleClick } isVisible = { isVisible [ o . id ] } />
67+ < MenuItem
68+ key = { o . id }
69+ id = { o . id }
70+ text = { o . text }
71+ href = { o . href }
72+ subitems = { o . subitems }
73+ onClick = { this . handleClick }
74+ isVisible = { isVisible [ o . id ] } />
6875 ) }
6976 </ ul >
7077 ) ;
You can’t perform that action at this time.
0 commit comments