Skip to content

Instantly share code, notes, and snippets.

@felipegenuino
Last active July 27, 2020 00:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save felipegenuino/18353a2d42825258ebaaf86db1aed35f to your computer and use it in GitHub Desktop.
Save felipegenuino/18353a2d42825258ebaaf86db1aed35f to your computer and use it in GitHub Desktop.
React Hooks
import React, { useState } from "react";
import "./styles.css";
export default function App() {
const [counter, setCounter] = useState(0);
function handlePlus() {
return setCounter(counter + 1);
}
function handleMinus() {
return setCounter(counter - 1);
}
return (
<>
<div className="App">{counter}</div>
<button onClick={handlePlus}> + </button>
<button onClick={handleMinus}> - </button>
</>
);
}
import React, { useState, useEffect } from "react";
import "./styles.css";
export default function App() {
const [counter, setCounter] = useState(0);
const [name, setName] = useState("");
useEffect(() => {
console.log("first render");
}, []);
useEffect(() => {
console.log(counter);
}, [counter]);
useEffect(() => {
console.log(name);
}, [name]);
function handleAdd() {
setCounter(prevState => prevState + 1);
}
function handleMinus() {
setCounter(prevState => prevState - 1);
}
return (
<div>
<div className="App">{counter}</div>
<button onClick={handleAdd}> + </button>
<button onClick={handleMinus}> - </button>
<br />
<span>{name}</span>
<input onChange={e => setName(e.target.value)} />
</div>
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment