κΈ°λ₯ μ μμ²νκ±°λ λ²κ·Έλ₯Όλ³΄κ³ νμκ² μ΅λκΉ?
λ²κ·Έ (κ°λ₯)
νμ¬ νλμ 무μμ λκΉ?
νλ¬κ·ΈμΈμ λ€μ μ€λ₯κ° νμλ©λλ€.
React Hook "useState"λ 쑰건λΆλ‘ νΈμΆλ©λλ€. React Hooksλ λͺ¨λ μ»΄ν¬λνΈ λ λλ§μμ μ νν λμΌν μμλ‘ νΈμΆλμ΄μΌν©λλ€. μΌμ° λμμ¨ ν μ€μλ‘ React Hookμ νΈμΆ νμ΅λκΉ? (λ°μ νν¬ / νν¬ κ·μΉ)
κ·Έλ¬λ 쑰건λΆλ‘ νν¬λ₯Ό νΈμΆνλ€κ³ μκ°νμ§ μμ΅λλ€.
μ½λ:
https://codesandbox.io/s/exciting-bhabha-mqj7q
function App(props) {
const someObject = { propA: true, propB: false };
for (const propName in someObject) {
if (propName === true) {
console.log("something");
} else {
console.log("whatever");
}
}
// THE PLUGIN ERROR MSG ON THIS useState
const [myState, setMyState] = useState(null);
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
</div>
);
}
μμλλ λμμ 무μμ λκΉ?
μ΄ μν©μμ νλ¬κ·ΈμΈμ μ€λ₯λ₯Ό νμνμ§ μμ΅λλ€.
μ΄λ€ λ²μ μ Reactμ μ΄λ€ λΈλΌμ°μ / OSκ°μ΄ λ¬Έμ μ μν₯μ λ°μ΅λκΉ?
μ΄ νΉμ μμμ λ€μμ λ°κ²¬νμ΅λλ€.
pathsFromStartToEnd
μ (λ) 3
allPathsFromStartToEnd
μ 2
possiblyHasEarlyReturn
λ true
μ΄ νΉμ μ€λ₯λ pathsFromStartToEnd
λ° allPathsFromStartToEnd
κ° κ°μ§ μμ λλ³΄κ³ λ©λλ€.
RulesOfHooks.js λΌμΈ 404 μ°Έμ‘°
for..in
루ν λ΄λΆμ μ½λλ₯Ό λ³λμ ν¨μλ‘ μΆμννλ©΄ lint μ€λ₯κ° μ¬λΌμ§λλ€.
μ΄ κ²½μ° pathsFromStartToEnd
λ° allPathsFromStartToEnd
λͺ¨λ 2
κ°μ΅λλ€.
const someObject = { propA: true, propB: false };
const someFunction = (propName) => {
if (propName === true) {
console.log("something");
} else {
console.log("whatever");
}
}
for (const propName in someObject) {
someFunction(propName)
}
const [myState, setMyState] = useState(null);
μ κ·Έλ°μ§ λͺ¨λ₯΄κ² μ΅λλ€.
@gaearon ,μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκ³ ν΄κ²°νλ MRμ λ§λ€μμ΅λλ€ (# 16853).
μ΄κ²μ΄ λ°μνλ μ£Όλ μ΄μ λ allPathsFromStartToEnd
κ°μ΄ μλͺ» κ³μ° λμκΈ° λλ¬Έμ
λλ€.
μ΄ μμμ μμλΆν° λκΉμ§μ κ²½λ‘ μλ 3μ΄μ΄μΌνμ§λ§ ν¨μλ 2λ₯Ό λ°νν©λλ€.
μ΄κ²μ΄ λ°μνλ μ΄μ λ μν κ²½λ‘μ μλͺ»λ μΊμ± λλ¬Έμ
λλ€. λ°λΌμ μΌλ° κ·Έλν μνμμ κ²½λ‘ κΈ°λ‘λ νμνμ§λ§ μν μμ λͺ©λ‘ λ§ μ·¨νλ©°μ΄ κ²½λ‘λ‘ μ΄μ΄μ§λ μμλ μ μ μμ΅λλ€.
κ²°κ³Όμ μΌλ‘ for...in obj
μμ μ‘°κ±΄μ΄ μ¬μ©λλ©΄ λ°©ν₯μ λ°λΌ μΌλΆ κ²½λ‘κ° μμ€ λ μ μμ΅λλ€.
μ΄κ²μ 2.4.0μμ μ¬μ ν λ¬Έμ μ΄λ©° μ½κ° λ κ°λ¨ν μ¬νμ λλ€.
import * as React from "react";
function Component() {
let isLastEven = false;
for (let x of [1, 2, 3]) {
if (x % 2 == 0) {
isLastEven = true;
} else {
isLastEven = false;
}
}
let y = React.useMemo(() => 1, []);
return <div>{y}</div>;
}
# 16853μ λ€μ μ΄ μ μμ΅λκΉ?
https://github.com/facebook/react/pull/16853μ λ³ν©νμ΅λλ€
κ°μ₯ μ μ©ν λκΈ
https://github.com/facebook/react/pull/16853μ λ³ν©νμ΅λλ€