Краткий ответ : - Убрать фигурные скобки из оператора setAlertRules, так как это приводит к несоответствию между type
из setAlertRules
при определении и его использовании.
Это особенность ES6, известная как Сокращение литерала объекта .
Во время определения alertRules типа setAlertRules равно SetStateAction . И вы пытаетесь присвоить ему значение типа {alertRules: any} , что приводит к ошибке.
Значение, переданное alertRules
, является объектом с ключом alertRules
и его значение в виде массива типа Alert
.
Итак, удалите фигурную скобку, когда она преобразуется во что-то такое
setAlertRules({ alertRules: alertRules });
// now {alertRules: any} this thing will make sense
Попробуйте этот код для обновления alertRules.
// see no curly braces .
setAlertRules( alertRules );