Skip to content

Instantly share code, notes, and snippets.

@marensas
Last active February 1, 2018 10:25
Show Gist options
  • Save marensas/f812c6d3a82494abaf79e9d632f7b797 to your computer and use it in GitHub Desktop.
Save marensas/f812c6d3a82494abaf79e9d632f7b797 to your computer and use it in GitHub Desktop.
Container
// src/index.js //
import React from 'react';
import { render } from 'react-dom';
import { createStore } from 'redux';
import { Provider } from 'react-redux';
import rootReducer from './reducers';
import App from './containers/App';
const store = createStore(rootReducer);
window.duombaze = store;
render(
// 1. Istryne tiesiogini duombazes atvaizdavima ikeliame App komponenta
// 2. Kad App komponentas susijungtu su duombaze (store) privalome ji apjuosti
// Provider komponentu, kuri importuosime is 'react-redux' bibliotekos zr. auksciau
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
);
// src/containers/App.js //
import React from 'react';
import { connect } from 'react-redux';
import { addInfo } from '../actions';
// 4. App komponentas kaip propsus gauna info ir dispatch parametrus
// dispatch pagalba issiunciame i duombaze informacija
const App = ({ info, dispatch }) => {
return (
<div>
<p>{info}</p>
<button onClick={() => dispatch(addInfo('Pakeista info'))}>Pakeisti info</button>
</div>
);
}
// 1. Provider komponentas siai funkcijai siuncia state(duombazes duomenis)
// juos pavadinkime 'info'
const mapStateToProps = state => ({
info : state
});
// 2. Provider siai funkcijai siuncia dispatch funkcija.
// jos pagalba inicijuosime action'us
const mapDispatchToProps = dispatch => ({
dispatch: dispatch
});
// 3. Kad virsutinis komponentas priimtu info ir dispatch parametrus
// naudojame connect funkcija ir sujungiame viska su App komponentu
export default connect(
mapStateToProps,
mapDispatchToProps
)(App);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment