TIL - 12/14

Beom·2022년 12월 16일
0

REACT - UDEMY

목록 보기
5/11

React - Udemy

#443
선택한 아이템 삭제하기

const removeIngredientHandler = (ingredientId) => {
  setUserIngredients((prevIngredients) => 
       prevIngredients.filter(
    	   (ingredient) => ingredient.id !== ingredientId
    	)
     );
}

전의 값을 가지고 와 조건에 부합하지 않으면 버린다 -> 해당 값들로 업데이트 해주기

const query =
      enteredFilter.length === 0
        ? ""
        : `?orderBy="title"&equalTo="${enteredFilter}"`;
    fetch(
      "API주소" + query
    )

firbase에서 필터기능을 제공해주기 때문에 위와 같이 쓸 수 있다


#447 useCallback

  const filteredIngredientsHandler = useCallback((filteredIngredients) => {
    setUserIngredients(filteredIngredients);
  }, []);

캐싱되어 다시 렌더링이 되더라도 값이 남아있도록 해준다

https://github.com/facebook/react/issues/10231#issuecomment-316644950

console.log(name); // prints name state, e.g. 'Manu'
setName('Max');
console.log(name); // ??? what gets printed? 'Max'?
name 상태에 setName('Max'); 다음에 엑세스하면 새로운 값(예: 'Max') 이 나올것 같지만 사실 그렇지 않습니다. 명심하세요. 새 상태 값은 다음 구성 요소 렌더링 주기에서만 사용할 수 있습니다. (setName() 호출 시 스케줄됨).


reducer -> 여러개의 입력을 받아 하나의 결과를 반환하는 함수
useReducer -> 어떤 식으로 상태를 변경할 건지 정의할 수 있게 해준다

0개의 댓글