Connected creation form with redux, and created reducer for short URL creation

This commit is contained in:
Alejandro Celaya
2018-07-28 10:41:05 +02:00
parent c51bf5b9a0
commit 0a5c20e3ee
13 changed files with 116 additions and 48 deletions

View File

@@ -1,4 +1,4 @@
import { assoc } from 'ramda';
import { assoc, pick } from 'ramda';
import React from 'react';
import { connect } from 'react-redux';
import { createServer } from './reducers/server';
@@ -57,7 +57,4 @@ export class CreateServer extends React.Component {
}
}
export default connect(state => ({ selectedServer: state.selectedServer }), {
createServer,
resetSelectedServer
})(CreateServer);
export default connect(pick(['selectedServer']), {createServer, resetSelectedServer })(CreateServer);

View File

@@ -1,4 +1,4 @@
import { isEmpty } from 'ramda';
import { isEmpty, pick } from 'ramda';
import React from 'react';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
@@ -8,7 +8,7 @@ import { listServers } from './reducers/server';
export class ServersDropdown extends React.Component {
renderServers = () => {
const { servers, currentServer } = this.props;
const { servers, selectedServer } = this.props;
if (isEmpty(servers)) {
return <DropdownItem disabled><i>Add a server first...</i></DropdownItem>
@@ -19,7 +19,7 @@ export class ServersDropdown extends React.Component {
<DropdownItem
tag={Link}
to={`/server/${id}/list-short-urls/1`}
active={currentServer && currentServer.id === id}
active={selectedServer && selectedServer.id === id}
>
{name}
</DropdownItem>
@@ -41,9 +41,4 @@ export class ServersDropdown extends React.Component {
}
}
const mapStateToProps = state => ({
servers: state.servers,
currentServer: state.selectedServer,
});
export default connect(mapStateToProps, { listServers })(ServersDropdown);
export default connect(pick(['servers', 'selectedServer']), { listServers })(ServersDropdown);