CURD_Operations_using_reactjs_usingdatabase
CURD_Operations_using_reactjs_usingdatabase
1).fecthing the data from my own database and fetching the data using axios and
displaying in the form table.
import axios from 'axios';
import React, { useEffect, useState } from 'react';
const Fetch = () => {
let [s,sets]=useState([]);
let fapi=()=>{
let x=axios.get('http://localhost:3000/data').then((res)=>{
console.log(x);
sets(res.data);
});
}
let FetchAPI=useEffect(()=>{
fapi();
},[]);
return (
<div>
<tr key={i}>
<td>{d.id}</td>
<td>{d.name}</td>
<td>{d.sal}</td>
<td>{d.tech}</td>
<td>{d.address}</td>
<td><button>Delete</button></td>
<td><button>Update</button></td>
</tr>
)
})
}
</tbody>
</table>
</div>
)
}
setupdate(null);
}
else{
const newObject={
id:s1.length+1,
name:inp1,
sal:sal,
address:address
}
axios.post('http://localhost:3000/data',newObject);
sets1((prev)=>[...prev,newObject]);
setinp1("");
}
}
let handledelete=(id)=>{
axios.delete(`http://localhost:3000/data/${id}`).then((res)=>{
sets1((e)=>e.filter((data)=>data.id !==id));
});
}
let handleUpdate=(id)=>{
const findobject=s1.find((item)=>item.id===id);
setinp1(findobject.name);
setsal(findobject.sal);
setaddress(findobject.address);
setupdate(findobject.id);
}
return (
<div>
<input type="text" value={inp1}
onChange={(e)=>setinp1(e.target.value)}></input>
<input type="text" value={sal} onChange={(e)=>setsal(e.target.value)}></input>
<input type="text" value={address}
onChange={(e)=>setaddress(e.target.value)}></input>
<button onClick={handleAdd}>Add</button>
<table>
<thead>
<th>id</th>
<th>name</th>
<th>sal</th>
<th>address</th>
<th>operatios</th>
</thead>
<tbody>
{
s1.map((data,i)=>{
return (
<tr>
<td>{data.id}</td>
<td>{data.name}</td>
<td>{data.sal}</td>
<td>{data.address}</td>
<td><button onClick={()=>handledelete(data.id)}>delete</button>
<button onClick={()=>handleUpdate(data.id)}>update</button></td>
</tr>
)
})
}
</tbody>
</table>
</div>
)
}
export default Update;
3.FOR Delete operation:
import React, { useEffect } from 'react';
import { useState } from 'react';
import axios from 'axios';
<div>
<table>
<thead>
<th>id</th>
<th>name</th>
<th>sal</th>
<th>addres</th>
<th>operations</th>
</thead>
<tbody>
{
s1.map(({id,name,sal,address})=>{
return (
<tr key={id}>
<td>{id}</td>
<td>{name}</td>
<td>{sal}</td>
<td>{address}</td>
<td><button onClick={()=>handleDelete(id)}>delete</button>
<button>Update</button></td>
</tr>
)
})
}
</tbody>
</table>
</div>
)
}
export default Delete;
4.TO-Do List Mini Priject:
import React, { useState } from 'react';
const Todo = () => {
let [s,sets]=useState("");
let [p,setp]=useState([]);
let [edit,setedit]=useState(null);
let h1=(e)=>{
sets(e.target.value);
}
let h2=()=>{
if(s.trim() !==""){
if(edit !==null){
setp((prev)=>
prev.map((task,i)=>(i===edit)? s:task));
setedit(null);
}
else{
setp((e)=>[...e,s]);
}
sets("")}
}
let handledelete=(index)=>{
console.log(index);
setp((e)=>e.filter((_,i)=>i!==index))
}
let handleEdit=(index)=>{
sets(p[index]);
setedit(index);
}
return (
<div>
<input type="text" value={s} onChange={h1}></input>
<button onClick={h2}>{(edit !==null)?"Update":"Add"}</button>
<br/>
{
p.map((p,i)=>{
return <h1 key={i} id="h1">Todays task {i+1} is :{p}
<button style={{margin:"0 10px"}} onClick={()=>handleEdit(i)}>Update</button>
<button style={{margin:"0 10px"}}
onClick={()=>{handledelete(i)}}>Delete</button></h1>
})
}
</div>
)
}
export default Todo;