1/1/1970
Header return jsx so can be properly rendered in Another Component like App.js.// App.js
import Header from './Header'
function App(){
return(
<>
<Header/> // it should be jsx
...
</>
);
}❌ Invalid: Component does not return valid JSX
// Header.js
export default function Header() {
return "abc"; // Returns plain text, not JSX
}✅ Valid: Component returns valid JSX
// Header.js
export default function Header() {
return <header>abc</header>; // Returns JSX
}<.../> vs </...>For Self-closing Tags: / should be write at ending of the tag
<input/>, <br/>, <Header/>Opening and Closing Tags: / should be written at starting of in Closing Tag
<nav></nav>, <div></div>function App() {
return (
<div className="App">
<Header/>
<About/>
</div>
);
}If any child component (e.g., <Footer/>, <About/>) has issues like being incomplete or not exported properly, React throws an error, and would not render even complete one like <Header/>
onDelete() function Executes immediately when the component renders.const onDelete = () => {
console.log("Function executed");
};
<button onClick={onDelete()}>Delete</button>;
// `onDelete()` executes immediately because `()` calls the function right away.
// The button gets `<button onClick={undefined}>` because `onDelete()` returns nothing.onDelete function runs only when the button is clicked.<button onClick={onDelete}>Delete</button>;
// Now, `onDelete` is passed as a function reference** and will only execute on a click.