Skip to content

Commit 5152440

Browse files
authored
React redux hooks (plouc#3)
* Using react-redux hooks in NotificationsContainer * Using react-redux hooks in CreateServerContainer * Using react-redux hooks in SettingsContainer
1 parent 5962404 commit 5152440

File tree

6 files changed

+53
-53
lines changed

6 files changed

+53
-53
lines changed

src/edikit/notifications/containers/NotificationsContainer.ts

-18
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import * as React from 'react';
2+
import { useSelector } from 'react-redux';
3+
import Notifications from '../components/Notifications';
4+
import { IApplicationState } from '../../../store';
5+
6+
const NotificationsContainer: React.FC = () => {
7+
const notifications = useSelector(
8+
(state: IApplicationState) => state.notifications,
9+
);
10+
11+
return <Notifications notifications={notifications} />;
12+
};
13+
14+
export default NotificationsContainer;

src/modules/servers/containers/CreateServerContainer.ts

-13
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import * as React from 'react';
2+
import { useDispatch } from 'react-redux';
3+
import { createServer as createServerAction } from '../store';
4+
import CreateServer, { ICreateServerProps } from '../components/CreateServer';
5+
import { IServer } from '../types';
6+
7+
const CreateServerContainer: React.FC<
8+
Pick<ICreateServerProps, 'close'>
9+
> = props => {
10+
const dispatch = useDispatch();
11+
12+
const createServer = (server: Pick<IServer, 'name' | 'url' | 'port'>) => {
13+
dispatch(createServerAction(server));
14+
};
15+
16+
return <CreateServer {...props} createServer={createServer} />;
17+
};
18+
19+
export default CreateServerContainer;

src/modules/settings/containers/SettingsContainer.ts

-22
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import * as React from 'react';
2+
import { useDispatch, useSelector } from 'react-redux';
3+
import { setSetting as setSettingsAction } from '../store';
4+
import { IApplicationState } from '../../../store';
5+
import Settings from '../components/Settings';
6+
7+
const SettingsContainer: React.FC = () => {
8+
const dispatch = useDispatch();
9+
const settings = useSelector(
10+
(state: IApplicationState) => state.settings.settings,
11+
);
12+
13+
const setSetting = (key: string, value: any) => {
14+
dispatch(setSettingsAction()(key, value));
15+
};
16+
17+
return <Settings settings={settings} setSetting={setSetting} />;
18+
};
19+
20+
export default SettingsContainer;

0 commit comments

Comments
 (0)