0
votes
import React, { useState, useEffect } from 'react';
import Form from 'react-bootstrap/Form';

function Switch(props) {
  const [enabled, setEnabled] = useState(false);

  useEffect(() => {
    if(enabled !== props.enabled) {
      setEnabled(props.enabled);
    }
  }, [props.enabled]);

  const handleChange = () => {
    props.handleClusterEnabledChange(!enabled);
    setEnabled(!enabled);
  }

  return (
    <Form.Check
      type="switch"
      id={props.id}
      label=""
      onChange={handleChange}
      checked={enabled}
    />
  );
}

export default Switch;

error:

./src/containers/administration/dwConnections/switch.js Line 11:6: React Hook useEffect has a missing dependency: 'enabled'. Either include it or remove the dependency array react-hooks/exhaustive-deps

1

1 Answers

0
votes

Just add enabled as dependency:

useEffect(() => {
    if(enabled !== props.enabled) {
      setEnabled(props.enabled);
    }
  }, [enabled, setEnabled, props.enabled]);