Skip to content

Commit dc7265f

Browse files
authored
Merge pull request #101 from arvish-codal/8_June
Class Components with TypeScript
2 parents b4cd8e8 + 70d5033 commit dc7265f

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed

react-typescript/react-typescript-demo/src/App.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { ThemeContextProvider } from './components/context/ThemeContext';
1212
import { Box } from './components/context/Box';
1313
import { UserContextProvider } from './components/context/UserContext';
1414
import { User } from './components/context/User';
15+
import { Counter } from './components/class/Counter';
1516

1617
function App() {
1718

@@ -66,10 +67,11 @@ function App() {
6667
</ThemeContextProvider> */}
6768

6869
{/* For Video-107 */}
69-
<UserContextProvider>
70+
{/* <UserContextProvider>
7071
<User />
71-
</UserContextProvider>
72+
</UserContextProvider> */}
7273

74+
<Counter message='The count value is' />
7375

7476
</div>
7577
);
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { Component } from "react";
2+
3+
type CounterProps = {
4+
message: string
5+
}
6+
7+
type CounterState = {
8+
count: number
9+
}
10+
11+
// The count value is 5
12+
export class Counter extends Component<CounterProps, CounterState> {
13+
state = {
14+
count: 0,
15+
}
16+
17+
handleClick = () => {
18+
this.setState((prevState) => ({ count: prevState.count + 1 }))
19+
}
20+
21+
render() {
22+
return (
23+
<div>
24+
<button onClick={this.handleClick}>Increment</button>
25+
{this.props.message} {this.state.count}
26+
</div>
27+
)
28+
}
29+
}

0 commit comments

Comments
 (0)