Skip to content

Commit 2588757

Browse files
committed
Reading from the state
1 parent 528bfc0 commit 2588757

3 files changed

Lines changed: 27 additions & 40 deletions

File tree

src/components/App.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
import React from 'react';
2+
import data from '../testData';
23
import Header from './Header';
34
import ContestPreview from './ContestPreview';
45

56
class App extends React.Component {
67
state = {
7-
pageHeader: 'Naming Contests'
8+
pageHeader: 'Naming Contests',
9+
contests: []
810
};
911
componentDidMount() {
12+
this.setState({
13+
contests: data.contests
14+
});
1015
}
1116
componentWillUnmount () {
1217
}
@@ -16,8 +21,8 @@ class App extends React.Component {
1621
<div className="App">
1722
<Header message={this.state.pageHeader} />
1823
<div>
19-
{this.props.contests.map(contest =>
20-
<ContestPreview {...contest}/>
24+
{this.state.contests.map(contest =>
25+
<ContestPreview key={contest.id} {...contest}/>
2126
)}
2227
</div>
2328
</div>

src/index.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import React from 'react';
22
import ReactDOM from 'react-dom';
33

4-
import data from './testData';
54
import App from './components/App';
65

76
ReactDOM.render(
8-
<App contests={data.contests} />,
7+
<App />,
98
document.getElementById('root')
109
);

webpack.config.babel.js

Lines changed: 18 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,19 @@
1-
const {resolve} = require('path');
2-
3-
module.exports = () => {
4-
return {
5-
context: resolve('src'),
6-
entry: './index.js',
7-
output: {
8-
path: resolve('public'),
9-
filename: 'bundle.js'
10-
},
11-
module: {
12-
rules: [
13-
{
14-
test: /\.js$/,
15-
exclude: /(node_modules|bower_components)/,
16-
use: {
17-
loader: 'babel-loader',
18-
options: {
19-
presets: ['es2015', 'react', 'stage-2']
20-
}
21-
}
22-
},
23-
{
24-
test: /\.json$/,
25-
exclude: /(node_modules|bower_components)/,
26-
use: {
27-
loader: 'json-loader',
28-
options: {
29-
presets: ['env']
30-
}
31-
}
32-
}
33-
]
34-
}
35-
};
1+
module.exports = {
2+
entry: './src/index.js',
3+
output: {
4+
path: __dirname + '/public',
5+
filename: 'bundle.js'
6+
},
7+
module: {
8+
loaders: [
9+
{
10+
test: /\.json$/,
11+
loader: 'json-loader'
12+
},
13+
{
14+
test: /\.js$/,
15+
loader: 'babel-loader'
16+
}
17+
]
18+
}
3619
};

0 commit comments

Comments
 (0)