2020년 가장 명확한 메모장
30897 단어 reactjavascript
그러나 어떤 갈고리를 사용하는지, 그리고 갈고리를 어떻게 사용하는지 기억하는 것은 항상 쉽지 않다.
이것이 바로 내가 이 시각 메모지를 만들어서 너에게 반응 연결을 파악하게 한 이유다.실제로, 너는 이곳이 단지 기본적인 쪽지 메모서가 아니라는 것을 발견할 수 있을 것이다.사실상, 나는 모든 React 갈고리에 당신이 그것을 어떻게 사용하고 어디서 사용하는지 진정으로 이해할 수 있도록 진실한 예시를 제공했다.
자신의 던전을 원하십니까?🎁
PDF 버전right here을 다운로드하여 언제 어디서나 메모를 받을 수 있습니다.
카탈로그
상태 연결 - useState
import React, { useState } from 'react';
import React, { useState } from 'react';
const MyComponent = (props) => {
const [showModal, setShowModal] = useState(false);
return (
<div>
<button onClick={() => setShowModal(true)}>Show</button>
{ show && <Modal /> }
</div>
);
};
useState는 여러 상태 변수에 사용할 수 있습니다.
const MyComponent = (props) => {
const [name, setName] = useState("Greg");
const [country, setCountry] = useState("France");
return <div>Hello! I'm {name}, from {country}.</div>;
};
useState는 원어, 객체 또는 그룹을 저장할 수 있습니다.
const [people, setPeople] = useState({
name: "Greg",
country: "France"
});
const [people, setPeople] = useState({
name: "Greg",
country: "France",
age: 28
});
...
setPeople(prevState => {
return { ...prevState, age: prevState.age + 1 };
});
효과 연결 - useEffect
import React, { useEffect } from 'react';
import React, { useEffect } from 'react';
const MyComponent = ({ userId }) => {
const [user, setUser] = useState({});
useEffect(() => {
fetch(`http://api.example.com/v1/users/${userId}`)
.then(res => res.json())
.then(data => setUser(data));
});
return (
<ul>
{ friends.map(friend => <li key={friend.id}>{friend.name}</li>) }
</ul>
);
};
useEffect(() => {
fetch(`http://api.example.com/v1/users/${userId}`)
.then(res => res.json())
.then(data => setUser(data));
}, [userId]);
useEffect를 사용하면 정리 함수를 반환하여 사용한 모든 효과를 정리할 수 있습니다.
useEffect(() => {
window.addEventListener("mousedown", eventhandler);
return () => {
window.removeEventListener("mousedown", eventhandler);
};
}, []);
Ref Hook-useRef
import React, { useRef } from 'react';
import React, { useRef } from 'react';
useRef를 사용하면 DOM 요소에 액세스할 수 있습니다.
const MyComponent = (props) => {
const inputRef = useRef(null);
useEffect(() => {
inputRef.current.focus();
});
return (
<form>
<input ref={inputRef} type="text" />
</form>
);
};
리셋 연결 - useCallback
import React, { useCallback } from 'react';
import React, { useCallback } from 'react';
const MyComponent = ({ eventhandler }) => {
...
const handleEventHandler = useCallback(
event => {
if (typeof eventHandler === "function") {
eventHandler(event);
}
},
[eventHandler]
);
...
컨텍스트 연결 - useContext
import React, { useContext } from 'react';
import React, { useContext } from 'react';
const UserContext = React.createContext(null);
function App() {
const [userName, setUserName] = useState("Greg");
return (
<UserContext.Provider value={{ name: userName }}>
<Main />
</UserContext.Provider>
);
}
const Main = (props) => (
<>
<Header />
<UserInfo />
<Footer />
</>
);
const UserInfo = (props) => {
const user = useContext(UserContext);
return <div>Hello, {user.name}!</div>;
};
메모리 연결 - use Memo
import React, { useMemo } from 'react';
import React, { useMemo } from 'react';
const MyComponent = ({ a, b }) => {
const memoizedValue = useMemo(() => expensiveComputation(a, b), [a, b]);
...
};
감속기 연결 - 사용자 Educer
import React, { useReducer } from 'react';
import React, { useReducer } from 'react';
const initialState = { isAuth: false, user: null };
function reducer(state, action) {
switch (action.type) {
case "login": return { isAuth: true, user: action.user };
case "logout": return { isAuth: false, user: null };
default: return state;
}
}
function App() {
const [state, dispatch] = useReducer(reducer, initialState);
const handleLogin = () => dispatch({ type: 'login', user: { ... } );
const handleLogout = () => dispatch({ type: 'logout' );
if (state.isAuth) {
return (
<>
<p>Welcome, {state.user.name}!</p>
<button onClick={handleLogout}>Logout</button>
</>
);
}
return <button onClick={handleLogin}>Login</button>;
}
사용자 정의 연결
import { useEffect, useCallback } from "react";
// Custom React Hook
export default function useEventListener(name, handler, element) {
const handleEventHandler = useCallback(
event => {
if (typeof handler === "function") {
handler(event);
}
},
[handler]
);
useEffect(
() => {
// Check if the element supports the addEventListener method
const checked = element && element.addEventListener;
// Stop here if not supported
if (!checked) return;
// Add event listener
element.addEventListener(eventName, handleEventHandler);
// Remove event listener on cleanup
return () => {
element.removeEventListener(name, handleEventHandler);
};
},
[name, element, handleEventHandler]
);
}
다음은 무엇입니까
React를 완전히 파악하려면 많은 개념을 배워야 한다.하지만 이 메모지 덕분에 현대React로 응용 프로그램을 작성하기 시작할 수 있습니다.
언제든지 이 메모장의 전체 PDF 버전right here을 다운로드하십시오.
Reference
이 문제에 관하여(2020년 가장 명확한 메모장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/alterclass/the-react-hooks-cheatsheet-2020-hhj
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(2020년 가장 명확한 메모장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alterclass/the-react-hooks-cheatsheet-2020-hhj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)