Skip to content

Commit 9f3964f

Browse files
committed
Add action and reducer
1 parent 06890ac commit 9f3964f

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

app/javascript/components/Greeting.js

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,36 @@
11
import React from "react";
22
import PropTypes from "prop-types";
3+
import { connect } from "react-redux";
4+
import { createStructuredSelector } from "reselect";
5+
6+
const GET_GREETINGS_REQUEST = "GET_GREETINGS_REQUEST";
7+
8+
function getGreetings() {
9+
console.log('getGreetings(), Action!');
10+
return {
11+
type: 'GET_GREETINGS_REQUEST'
12+
};
13+
};
314

415
class Greeting extends React.Component {
516
render () {
617
return (
718
<React.Fragment>
819
Greeting Message: {this.props.greetingMessage}
20+
<button className="btn btn-more" onClick={() => this.props.getGreetings()}>Get another greeting</button>
921
</React.Fragment>
1022
);
1123
}
1224
}
1325

26+
const structuredSelector = createStructuredSelector({
27+
greetings: state => state.greetings,
28+
});
29+
30+
const mapDispatchToProps = { getGreetings };
31+
1432
Greeting.propTypes = {
1533
greetingMessage: PropTypes.string
1634
};
1735

18-
export default Greeting;
36+
export default connect(structuredSelector, mapDispatchToProps)(Greeting);

0 commit comments

Comments
 (0)