Учитывая, что ваш Button
компонент принимает onClick
опору:
const Button = (props) => {
return (
<Button Click={props.onClick}>
Text
<Arrow rotate={props.dropdownIsOpen} color={designTheme.color.primary} />
</Button>
);
};
ПРИМЕЧАНИЕ: Как указывает @SagarMore, между также может быть конфликт имен некоторые импортированные Button
компоненты и ваш Button
компоненты.
Возможно, вам просто нужно передать обратный вызов Click
(ужасное имя, BTW, должно быть onClick
, надеюсь, это была просто опечатка):
const DropdownButton = (props) => {
const [isOpen, setOpen] = useState(false);
const onToggle = (): void => setOpen(prevState => !prevState);
return (
<Dropdown
isOpen={props.isOpen}
onToggle={onToggle}
toggleNode={
<Button onClick={onToggle} dropdownIsOpen={isOpen}>
Text
</Button>
}
/>
);
};
Передача onToggle
в обработчик onClick внутренней кнопки должен теперь переключать состояние isOpen
DropDown
.