Skip to content

Instantly share code, notes, and snippets.

@markerikson
Last active March 5, 2024 01:24
Show Gist options
  • Select an option

  • Save markerikson/121c77a01c453466361a9c6434a08620 to your computer and use it in GitHub Desktop.

Select an option

Save markerikson/121c77a01c453466361a9c6434a08620 to your computer and use it in GitHub Desktop.
React-Redux connect example
import {action1, action2} from "myActions";
import {bindActionCreators} from "redux";
import {connect} from "react-redux";
const mapStateToProps = (state, ownProps) = {
return {
counter : state.counter,
someComponentValue : state.things[ownProps.someIdProp]
};
}
const mapDispatchToProps = (dispatch) => {
return {
// same effect
firstAction : () => dispatch(action1()),
secondAction : bindActionCreators(action2, dispatch)
}
};
const MyStatelessComponent = (props) => {
const {counter, someComponentValue} = props;
const {firstAction, secondAction} = props;
return (
<div>
<div>Counter: {counter}</div>
<div>Other value: {someComponentValue}</div>
<button onClick={firstAction}>First Button</button>
<button onClick={secondAction}>Second Button</button>
</div>
);
};
const WrappedComponent = connect(mapStateToProps, mapDispatchToProps)(MyStatelessComponent);
@vndevil

vndevil commented Jan 13, 2018

Copy link
Copy Markdown

// =>
const mapStateToProps = (state, ownProps) => {
return {
counter : state.counter,
someComponentValue : state.things[ownProps.someIdProp]
};
}

ghost commented May 17, 2018

Copy link
Copy Markdown

(Y)

@MajorKuprich

Copy link
Copy Markdown

This example helped me understand redux, thx.

@miaroelants

Copy link
Copy Markdown

thanks so much

@wgolledge

Copy link
Copy Markdown

Great example cheers!

@ostannya

ostannya commented Jun 9, 2021

Copy link
Copy Markdown

would be cool also to add something like export WrappedComponent at the end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment