React Basics
- Its a View library from Facebook for building User Interfaces
- Its declarative means it specifies what will be done but not how it will be done.
- Component based
Installation
npm i react react-dom
Code
import React from "react";
// for React version = 18
import ReactDOM from "react-dom/client";
ReactDOM.createRoot(document.getElementById("root")).render(<App />);
// Sample App FC
const App = () => {
return <div>Hello React</div>;
};
// for React version <= 17
import ReactDOM from "react-dom";
ReactDOM.render(<App />, document.getElementById("root"));
Redux
Installation
npm i redux react-redux
// all relevant React imports
import { createStore } from 'redux';
import rootReducer from './reducer';
const store = createStore(rootReducer);
ReactDOM.createRoot(document.getElementById("root"))
.render(<Provider store={store}>
<App />
</Provider>);
//reducer.js
const initialState = {
counter: 0
}
const rootReducer = (state = initialState, action) => {
switch (action.type) {
case 'INCR':
return {
...state,
counter: state.couter + 1
}
default:
return state;
}
}
export default rootReducer;
//App.js
import { useDispatch, useSelector } from "react-redux";
const App = () => {
const dispatch = useDispatch();
const counter = useSelector(state=>state.counter)
const increment = () => {
dispatch({
"INCR",
//payload if any
})
}
return <div>
Hello React {counter}
<button onClick={increment}> Increment </button>
</div>
}