summaryrefslogtreecommitdiffstats
path: root/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/react-redux/src/containers/App.js
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/react-redux/src/containers/App.js')
-rw-r--r--third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/react-redux/src/containers/App.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/react-redux/src/containers/App.js b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/react-redux/src/containers/App.js
new file mode 100644
index 0000000000..8db7c713bd
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/react-redux/src/containers/App.js
@@ -0,0 +1,31 @@
+import React, { PropTypes } from 'react'
+import { bindActionCreators } from 'redux'
+import { connect } from 'react-redux'
+import Header from '../components/Header'
+import MainSection from '../components/MainSection'
+import * as TodoActions from '../actions'
+
+const App = ({todos, actions}) => (
+ <div>
+ <Header addTodo={actions.addTodo} />
+ <MainSection todos={todos} actions={actions} />
+ </div>
+)
+
+App.propTypes = {
+ todos: PropTypes.array.isRequired,
+ actions: PropTypes.object.isRequired
+}
+
+const mapStateToProps = state => ({
+ todos: state.todos
+})
+
+const mapDispatchToProps = dispatch => ({
+ actions: bindActionCreators(TodoActions, dispatch)
+})
+
+export default connect(
+ mapStateToProps,
+ mapDispatchToProps
+)(App)