I am using the useState hook and have an array of conditions
const [conditions, setConditions] = useState([])
Each element in this array contains a {condition: "some string", value: boolean}
I render my array like this:
       <FormControl component="fieldset">
            <FormGroup aria-label="position" column className={classes.form}>
              {conditions.map(({ condition, value }, index) => {
                return (
                  <FormControlLabel
                    key={index}
                    value="end"
                    control={
                      <Checkbox
                        checked={value}
                        onClick={() => {
                          changeConditionValue(index, !conditions[index].value);
                        }}
                      />
                    }
                    label={condition}
                    labelPlacement="end"
                  />
                );
              })}
            </FormGroup>
          </FormControl>
Now I am trying to change the condition´s value at a certain index if you press on the checkmark attached to it and I have set it up like this:
 const changeConditionValue = (findIndex, newValue) => {
    const saveConditions = conditions;
    setConditions([]);
    saveConditions.map(({ condition, value }, index) => {
      if (index != findIndex) {
        setConditions((old) => [...old, { condition, value }]);
      } else {
        setConditions((old) => [...old, { condition, newValue }]);
      }
    });
  };
First I save the old conditions because if I keep using the "...old" the values of the old array will be saved and I do not want that that is why I have my saveConditions where I map through in order to set those values to my new setConditions. Everything works fine, except for if I do this more than one time. The first time the value gets returned back, but the second time it returns undefined ?
This is the error: Material-UI: A component is changing the controlled checked state of SwitchBase to be uncontrolled.
Elements should not switch from uncontrolled to controlled (or vice versa).
Decide between using a controlled or uncontrolled SwitchBase element for the lifetime of the component.
The nature of the state is determined during the first render, it's considered controlled if the value is not `undefined`.
```
