<Toggle>
<Toggle>
Внешний Toggle имеет в качестве children
еще один компонент Toggle, так что именно здесь выдается исключение.Внутренний Toggle будет в порядке, поскольку его children
действительно является функцией, но исключение не позволяет рендерингу попасть туда.
Я не совсем уверен, какова ваша цель - вложить Toggles в переключатели, поэтому, возможно,исправить это просто удалить один из них.В качестве альтернативы, если вы хотите разрешить использование не-функций в качестве дочерних, вы можете изменить свой компонент Toggle на что-то вроде этого:
const Toggle = ({ children }) => {
let [show, setShow] = useState(false);
const toggleShow = () => setShow((show = !show));
if (typeof children === 'function') {
return children({ show, toggleShow });
}
return children;
};