javascript - React ve TypeScript'te boolean durumu nasıl değiştirilir?


React ve TypeScript'e yeniyim.

Bir boolean durumu (true/false) bir işleyici fonksiyon ile değiştirmek istiyorum. ES6'da bunu nasıl yapacağım hakkında diğer yazıları okudum ama TypeScript'te bunu nasıl başaracağım konusunda net değilim.

Şu ana kadar sahip olduğum:

  const MyComponent = () => {
    const [collapseUpper, setCollapseUpper] = React.useState(true);

    const handleCollapse = () => {
      collapseUpper = !setCollapseUpper;
    };

    return (
       <Link onClick={handleCollapse}>More</Link>
       <Collapse in={collapseUpper}>
         //content

Ama çalıştırmayı başaramıyorum.

Biri bana doğru yönü gösterebilir mi?

Cevap #1

İşte böyle yapılmalıdır:

const handleCollapse = () => {
  setCollapseUpper(!collapseUpper);
};

Durumdaki herhangi bir güncellemeyi ele almak için setCollapseUpper'i çağırmanız gerekecek.

Dahası, durumu güncellemek için geri çağırma işlevini kullanabilirsiniz:

const handleCollapse = () => {
  setCollapseUpper((prevState) => !prevState);
};

Cevap #2

değerini değiştirmelisiniz collapseUpper, setCollapseUpper değil:

const [collapseUpper, setCollapseUpper] = React.useState(true);

const handleCollapse = () => {
  setCollapseUpper(!collapseUpper);
};

İlgili makaleler