Как указано в официальной документации для крючков React, крючки (например, useState
) могут использоваться только в функциональных компонентах.
CategoryListUserComponent
является компонентом класса.
Если вы хотите sh использовать хук useState, вам следует CategoryListUserComponent
для функционального компонента.
В качестве альтернативы, Вы можете просто добавить состояние checked
к CategoryListUserComponent
, так что оно является частью состояния компонента.
this.state = {
users: [],
message: null,
checked: true, // or false
}
И затем вы можете просто обновить состояние, используя this.setState()
, когда Checkbox
компонент нажат.
<Checkbox
checked={checked}
onChange={(event) => {
this.setState({
checked: event.target.checked,
)}
}}
inputProps={{ 'aria-label': 'primary checkbox' }}
/>
Кроме того, я заметил, что вы определили как свои реквизиты, так и состояние как any
. Это не рекомендуется, так как вы не сможете воспользоваться возможностями проверки типов в TypeScript.
Например, именно так вы можете определить свой интерфейс.
interface ListState {
users: Something[],
message: string | null,
checked: boolean,
}