Skip to content

Commit 676b982

Browse files
committed
part 11
1 parent 780eaaa commit 676b982

File tree

5 files changed

+28
-21
lines changed

5 files changed

+28
-21
lines changed

package-lock.json

+13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"html-webpack-plugin": "2.29.0",
2828
"jest": "20.0.4",
2929
"mobx": "^3.2.2",
30+
"mobx-react": "^4.2.2",
3031
"object-assign": "4.1.1",
3132
"postcss-flexbugs-fixes": "3.2.0",
3233
"postcss-loader": "2.0.6",

src/components/App.js

+2-5
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,9 @@ import './App.css';
33

44
import Stories from './Stories';
55

6-
const App = ({ stories, onArchive }) =>
6+
const App = () =>
77
<div className="app">
8-
<Stories
9-
stories={stories}
10-
onArchive={onArchive}
11-
/>
8+
<Stories />
129
</div>
1310

1411
export default App;

src/components/Stories.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React from 'react';
2+
import { inject, observer } from 'mobx-react';
23
import './Stories.css';
34
import Story from './Story';
45

@@ -24,16 +25,16 @@ const COLUMNS = {
2425
},
2526
};
2627

27-
const Stories = ({ stories, onArchive }) =>
28+
const Stories = ({ storyStore, archiveStore }) =>
2829
<div className="stories">
2930
<StoriesHeader columns={COLUMNS} />
3031

31-
{(stories || []).map(story =>
32+
{(storyStore.readableStories || []).map(story =>
3233
<Story
3334
key={story.objectID}
3435
story={story}
3536
columns={COLUMNS}
36-
onArchive={onArchive}
37+
onArchive={archiveStore.archiveStory}
3738
/>
3839
)}
3940
</div>
@@ -50,4 +51,4 @@ const StoriesHeader = ({ columns }) =>
5051
)}
5152
</div>
5253

53-
export default Stories;
54+
export default inject('storyStore', 'archiveStore')(observer(Stories));

src/index.js

+7-12
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
import React from 'react';
22
import ReactDOM from 'react-dom';
3-
import { autorun } from 'mobx';
3+
import { Provider } from 'mobx-react';
44
import './index.css';
55
import App from './components/App';
66
import store from './stores';
77
import registerServiceWorker from './registerServiceWorker';
88

9-
function render() {
10-
ReactDOM.render(
11-
<App
12-
stories={store.storyStore.readableStories}
13-
onArchive={(objectID) => store.archiveStore.archiveStory(objectID)}
14-
/>,
15-
document.getElementById('root')
16-
);
17-
}
18-
19-
autorun(render);
9+
ReactDOM.render(
10+
<Provider { ...store }>
11+
<App />
12+
</Provider>,
13+
document.getElementById('root')
14+
);
2015

2116
registerServiceWorker();

0 commit comments

Comments
 (0)