Skip to content

Commit 4845626

Browse files
committed
3-navbar-state
1 parent a938b9d commit 4845626

File tree

1 file changed

+27
-7
lines changed

1 file changed

+27
-7
lines changed

app/components/Popular.jsx

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,37 @@
11
import * as React from "react";
22

33
export default class Popular extends React.Component {
4+
constructor(props) {
5+
super(props);
6+
7+
this.state = {
8+
selectedLanguage: "All",
9+
};
10+
11+
this.updateLanguage = this.updateLanguage.bind(this);
12+
}
13+
updateLanguage(selectedLanguage) {
14+
this.setState({
15+
selectedLanguage,
16+
});
17+
}
418
render() {
519
const languages = ["All", "JavaScript", "Ruby", "Java", "CSS", "Python"];
620

721
return (
8-
<select>
9-
{languages.map((language) => (
10-
<option key={language} value={language}>
11-
{language}
12-
</option>
13-
))}
14-
</select>
22+
<main>
23+
<select
24+
onChange={(e) => this.updateLanguage(e.target.value)}
25+
selected={this.state.selectedLanguage}
26+
>
27+
{languages.map((language) => (
28+
<option key={language} value={language}>
29+
{language}
30+
</option>
31+
))}
32+
</select>
33+
{JSON.stringify(this.state, null, 2)}
34+
</main>
1535
);
1636
}
1737
}

0 commit comments

Comments
 (0)