Last active
February 1, 2018 10:25
-
-
Save marensas/f812c6d3a82494abaf79e9d632f7b797 to your computer and use it in GitHub Desktop.
Container
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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