Skip to content

lan-nodeJS/React-Redux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Redux ( Simple React Redux Example )

---> src/index.js

---> src/App.js

index.js ---> create store + reducer function (state , action)

App.js ---> connect(getStateToProps, getActionToProps)()


used Npm package

  • {createStore} from 'redux' ----> to create store
  • {Provider} from 'react-redux' ----> container for components
  • {connect} from 'react-redux' ---> to connect component to store

src > index.js

import {createStore} from 'redux';
import {Provider} from 'react-redux';

function reducer(data = 0, action){
  switch(action.type){
    case "Add":  data = data + 1; break;   
    case "Reduce":  data = data -1; break;
    default : return data;
  }
  return data;
}

const store = createStore(reducer);

ReactDOM.render(
  <React.StrictMode>
    <Provider store = {store}>   
      <App />     
    </Provider> 
  </React.StrictMode>,
  document.getElementById('root')
);

src > App.js

import React from 'react';
import {connect} from 'react-redux';

function App(props){

  function add(){
    props.add();
  }

  function minus(){
    props.minus();
  }

  return <div>
    <h1>{props.greet}</h1>
    <button type="submit" onClick={add}>Add</button>
    <button type="submit" onClick={minus}>Reduce</button>
  </div>
  
}


function showState(data){
  return {
    greet: data
  };
}

function changeAction(dispatch){
  return {
    add(){
      dispatch({type: 'Add'})
    },
    minus(){
      dispatch({type: 'Reduce'})
    }
  }
}

const connectToStore = connect(showState, changeAction)(App);

export default connectToStore;

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published