1- Provider
Why do we need to wrap all our components inside Provider
?
2- connect
:
How is connect
passing redux store as props
to components ?
3- Can we build our own Provider
and connect
?
Below is a fully working simple React Redux example that just displays a name from the redux store and uses React Redux connect
and Provider
, so how ConnectedComponent
can simply access this.props.name
?
import React, { Component } from react;
import { render } from react-dom;
import { createStore } from redux;
import { Provider, connect } from react-redux;
var defaultState = {
name: Amr
};
function rootReducer(state = defaultState, action) {
return state;
}
var store = createStore(rootReducer);
class ConnectedComp extends Component {
render() {
return (
<h2>{this.props.name}</h2>
);
}
}
function mapStateToProps(state) {
return {
name: state.name
};
}
ConnectedComp = connect(mapStateToProps)(ConnectedComp);
class App extends Component {
render() {
return (
<Provider store={store}>
<ConnectedComp />
</Provider>
);
}
}
render(<App />, document.getElementById(root));
A fully working example here https://codesandbox.io/s/lpvnxro7n7