props를 통해 전달 된 요소의 값을 가져올 수 없습니다.

바보 같은 제발 도와 줘

홈페이지에 표시되는 배열에 항목을 추가하는 앱이 있습니다. 값을 기반으로 항목을 표시하고 해당 값이 배열에있을 때 강조 표시되는 버튼을 만들려고합니다.
여기에 버튼 구성 요소가 있습니다.

const ButtonClickable = (props) => {
    const [isActive, setActive] = useState("false");
    const handleToggle = () => {
     setActive(!isActive);
    }; 
     return <button
               type="button"
               value={props.value}
               className={isActive ? "button btn first" : "button btn firstActive"}
               onClick={handleToggle}
             >
              {props.name}
             </button>
   
   }

그리고 저는 이것을 이렇게 사용하고 있습니다

 <ButtonClickable onClick={(event) => {ToppingPlusMinus(event)}}  name="Cheese" value="Cheese, " ></ButtonClickable>

그리고 다음과 같은 기능으로 가치를 모으고 있습니다.

const ToppingPlusMinus = (e) => {
  const { value } = e.target;
  const position = toppings.indexOf(value);

  if (position !== -1) {
    return removeTopping(value);
    
  }

  return addTopping(value);
  
};


const removeTopping = (value) => {
  // We need to filter out the value from the array and return the expected new value
  setToppings(toppings.filter((topping) => topping !== value));
  handleToggle();
};

이 함수는 값이 다음과 같이 동일한 구성 요소에 하드 코딩 된 경우 제대로 작동합니다.

<button
            type="button"
            value="Peperoni, "
            className={ isActive ? "button btn first" : "button btn firstActive"} 
            onClick={(event) => {
              ToppingPlusMinus(event);
            }}
          >
            Pepperoni
          </button>

<buttonClickable>구성 요소를 사용할 때 값이 배열에 추가되지 않고 그 이유가 확실하지 않습니다.
전체 작업 코드 샌드 박스는 여기에 당신의 도움에 미리 감사드립니다.

Faraz Shaikh |

전달한 onClick 소품을 호출하지 않고 다음과 같이 클릭 처리기를 변경합니다.

const handleToggle = (e) => {
     props.onClick(e)
     setActive(!isActive);
 }; 

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

post 메소드를 통해 전송 된 값을받을 수 없습니다.

분류에서Dev

jquery를 통해 hiddenfield 값을 가져올 수 없습니다.

분류에서Dev

JS를 통해 입력 값을 가져올 수 없습니다.

분류에서Dev

Firefox에서 키를 통해 저장된 개체 값을 가져올 수 없습니다.

분류에서Dev

HTML 요소의 업데이트 된 값을 가져올 수 없습니다.

분류에서Dev

지시문에서 Angular 컨트롤러로 전달 된 iframe 요소를 가져올 수 없습니다.

분류에서Dev

지시문에서 Angular 컨트롤러로 전달 된 iframe 요소를 가져올 수 없습니다.

분류에서Dev

변수를 통해 rgb 값을 전달할 수 없습니다.

분류에서Dev

자바 스크립트를 통해 inputbox의 입력 값을 가져올 수 없습니다.

분류에서Dev

React Native-네비게이터를 통해 전달 된 매개 변수를 가져올 수 없습니다 (스택 네비게이터에서 드로어 네비게이터로). 수신 : 개체가 정의되지 않았습니다.

분류에서Dev

SSH를 통해 Qemu 출력을 가져올 수 없습니다.

분류에서Dev

모듈에서 참조로 전달 된 해시를 가져올 수 없습니다.

분류에서Dev

Angular의 ngOnInit를 통해 Observable을 통해 http.get에서 데이터를 가져올 수 없습니다.

분류에서Dev

값을 탐색 매개 변수로 전달하려고하지만 다른 구성 요소에서 매개 변수를 가져올 수 없습니다.

분류에서Dev

함수 포인터를 통해 가변 함수에 전달 된 매개 변수는 값을 변경합니다.

분류에서Dev

Slim을 통해 제출 된 JSON POST 데이터를 가져올 수 없습니다.

분류에서Dev

동적으로 생성 된 요소의 ID를 가져올 수 없습니다.

분류에서Dev

`div` 요소의 값을 가져올 수 없습니다.

분류에서Dev

"입력"요소의 값을 가져올 수 없습니다.

분류에서Dev

값이 다음 함수를 통해 전달된다는 것은 무엇을 의미합니까?

분류에서Dev

알림을 통해 의도를 제대로 전달할 수 없습니다.

분류에서Dev

Python의 사전에서 값을 가져올 수 없습니다.

분류에서Dev

Rails를 사용하여 Ajax 요청의 URL을 통해 매개 변수를 전달할 수 없습니다.

분류에서Dev

perl : var가 정의 된 장소 전에 전역 var를 가져올 수 없습니다.

분류에서Dev

XMLHttpRequest를 통해 작업에서 요청 범위 속성을 가져올 수 없습니다.

분류에서Dev

반응의 구성 요소를 통해 변수 값을 어떻게 전달합니까?

분류에서Dev

Symfony : jsonresponse를 통해 테이블의 모든 행을 가져올 수 없습니다.

분류에서Dev

깊이 중첩 된 해시 값을 가져올 수 없습니다.

분류에서Dev

Discord js를 통해 저자의 아바타를 가져올 수 없습니다.

Related 관련 기사

  1. 1

    post 메소드를 통해 전송 된 값을받을 수 없습니다.

  2. 2

    jquery를 통해 hiddenfield 값을 가져올 수 없습니다.

  3. 3

    JS를 통해 입력 값을 가져올 수 없습니다.

  4. 4

    Firefox에서 키를 통해 저장된 개체 값을 가져올 수 없습니다.

  5. 5

    HTML 요소의 업데이트 된 값을 가져올 수 없습니다.

  6. 6

    지시문에서 Angular 컨트롤러로 전달 된 iframe 요소를 가져올 수 없습니다.

  7. 7

    지시문에서 Angular 컨트롤러로 전달 된 iframe 요소를 가져올 수 없습니다.

  8. 8

    변수를 통해 rgb 값을 전달할 수 없습니다.

  9. 9

    자바 스크립트를 통해 inputbox의 입력 값을 가져올 수 없습니다.

  10. 10

    React Native-네비게이터를 통해 전달 된 매개 변수를 가져올 수 없습니다 (스택 네비게이터에서 드로어 네비게이터로). 수신 : 개체가 정의되지 않았습니다.

  11. 11

    SSH를 통해 Qemu 출력을 가져올 수 없습니다.

  12. 12

    모듈에서 참조로 전달 된 해시를 가져올 수 없습니다.

  13. 13

    Angular의 ngOnInit를 통해 Observable을 통해 http.get에서 데이터를 가져올 수 없습니다.

  14. 14

    값을 탐색 매개 변수로 전달하려고하지만 다른 구성 요소에서 매개 변수를 가져올 수 없습니다.

  15. 15

    함수 포인터를 통해 가변 함수에 전달 된 매개 변수는 값을 변경합니다.

  16. 16

    Slim을 통해 제출 된 JSON POST 데이터를 가져올 수 없습니다.

  17. 17

    동적으로 생성 된 요소의 ID를 가져올 수 없습니다.

  18. 18

    `div` 요소의 값을 가져올 수 없습니다.

  19. 19

    "입력"요소의 값을 가져올 수 없습니다.

  20. 20

    값이 다음 함수를 통해 전달된다는 것은 무엇을 의미합니까?

  21. 21

    알림을 통해 의도를 제대로 전달할 수 없습니다.

  22. 22

    Python의 사전에서 값을 가져올 수 없습니다.

  23. 23

    Rails를 사용하여 Ajax 요청의 URL을 통해 매개 변수를 전달할 수 없습니다.

  24. 24

    perl : var가 정의 된 장소 전에 전역 var를 가져올 수 없습니다.

  25. 25

    XMLHttpRequest를 통해 작업에서 요청 범위 속성을 가져올 수 없습니다.

  26. 26

    반응의 구성 요소를 통해 변수 값을 어떻게 전달합니까?

  27. 27

    Symfony : jsonresponse를 통해 테이블의 모든 행을 가져올 수 없습니다.

  28. 28

    깊이 중첩 된 해시 값을 가져올 수 없습니다.

  29. 29

    Discord js를 통해 저자의 아바타를 가져올 수 없습니다.

뜨겁다태그

보관