You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// With React.createElementconstelement=React.createElement('h1',{className: 'greeting'},'Hello, world!',);// With JSX (requires Babel)constelement=<h1className="greeting">Hello, world!</h1>;
functionMyComponent(props){return<div>{props.name}</div>;}// With destructuringfunctionMyComponent({ name, age, isActive }){return(<div>{name} is {age} years old
</div>);}
// Use camelCase for attributes<divclassName="container"onClick={handleClick}><inputtype="text"onChange={handleChange}/><labelhtmlFor="name">Name</label>
// Style as object
<divstyle={{color: 'red',fontSize: '20px'}}>Text</div>
constitems=['Apple','Banana','Orange'];// Map to components{items.map((item,index)=><likey={index}>{item}</li>);}// With objects (use unique id as key)constheroes=[{id: 1,name: 'Iron Man'},{id: 2,name: 'Spider-Man'},];{heroes.map((hero)=><divkey={hero.id}>{hero.name}</div>);}
Hooks
useState
const[count,setCount]=React.useState(0);// Update statesetCount(count+1);setCount((prevCount)=>prevCount+1);// Functional update// Multiple state variablesconst[name,setName]=React.useState('');const[age,setAge]=React.useState(0);const[isActive,setIsActive]=React.useState(false);
useEffect
// Run on every renderReact.useEffect(()=>{console.log('Component rendered');});// Run once on mountReact.useEffect(()=>{console.log('Component mounted');},[]);// Run when dependencies changeReact.useEffect(()=>{console.log('Count changed:',count);},[count]);// Cleanup functionReact.useEffect(()=>{consttimer=setInterval(()=>console.log('tick'),1000);return()=>clearInterval(timer);// Cleanup},[]);
// Inline<buttononClick={()=>alert('Clicked!')}>Click</button>;// Function referenceconsthandleClick=()=>{alert('Clicked!');};<buttononClick={handleClick}>Click</button>;// With parametersconsthandleClick=(id)=>{console.log('Clicked:',id);};<buttononClick={()=>handleClick(123)}>Click</button>;// Event objectconsthandleChange=(event)=>{console.log(event.target.value);};<inputonChange={handleChange}/>;
const[data,setData]=React.useState(null);const[loading,setLoading]=React.useState(true);const[error,setError]=React.useState(null);React.useEffect(()=>{fetch('https://api.example.com/data').then((response)=>response.json()).then((data)=>{setData(data);setLoading(false);}).catch((error)=>{setError(error);setLoading(false);});},[]);if(loading)return<div>Loading...</div>;if(error)return<div>Error: {error.message}</div>;return<div>{/* Render data */}</div>;
Toggle State
const[isOpen,setIsOpen]=React.useState(false);// Toggle<buttononClick={()=>setIsOpen(!isOpen)}>Toggle</button>// Using functional update<buttononClick={()=>setIsOpen(prev=>!prev)}>Toggle</button>