aboutsummaryrefslogtreecommitdiff
path: root/src/client/react/components
diff options
context:
space:
mode:
authorNoah Loomans <noahloomans@gmail.com>2017-12-10 01:01:36 +0100
committerNoah Loomans <noahloomans@gmail.com>2017-12-10 01:01:36 +0100
commit4ce420528dd747021f7fa51483710388f5733724 (patch)
treeed01c295124b07fdbfbce70463af9dd400ab1125 /src/client/react/components
parent0141d1f9f4c7ca1755e0a5da908e9d27cf7aa0e1 (diff)
Add Search container
Diffstat (limited to 'src/client/react/components')
-rw-r--r--src/client/react/components/container/Search.js20
-rw-r--r--src/client/react/components/presentational/Search.js6
2 files changed, 23 insertions, 3 deletions
diff --git a/src/client/react/components/container/Search.js b/src/client/react/components/container/Search.js
new file mode 100644
index 0000000..1b5a41d
--- /dev/null
+++ b/src/client/react/components/container/Search.js
@@ -0,0 +1,20 @@
+import { connect } from 'react-redux';
+import { type } from '../../actions';
+import PresentationalSearch from '../presentational/Search';
+
+const mapStateToProps = state => ({
+ results: state.searchResults,
+});
+
+const mapDispatchToProps = dispatch => ({
+ onType: (event) => {
+ dispatch(type(event.target.value));
+ },
+});
+
+const Search = connect(
+ mapStateToProps,
+ mapDispatchToProps,
+)(PresentationalSearch);
+
+export default Search;
diff --git a/src/client/react/components/presentational/Search.js b/src/client/react/components/presentational/Search.js
index 0dde8a6..ce4a09d 100644
--- a/src/client/react/components/presentational/Search.js
+++ b/src/client/react/components/presentational/Search.js
@@ -1,10 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
-const Search = ({ onInput, results }) => (
+const Search = ({ onType, results }) => (
<div>
<input
- onInput={onInput}
+ onChange={onType}
placeholder="Zoeken"
/>
<ul>
@@ -14,7 +14,7 @@ const Search = ({ onInput, results }) => (
);
Search.propTypes = {
- onInput: PropTypes.func.isRequired,
+ onType: PropTypes.func.isRequired,
results: PropTypes.arrayOf(PropTypes.shape({
name: PropTypes.string.require,
type: PropTypes.string.require,