Imho, you shouldn’t cast the list, instead cast its children one by one, for example:
UPDATE
...
...
categories = (map['categories'] as List)?.map((item) => item as String)?.toList();
...
...

Imho, you shouldn’t cast the list, instead cast its children one by one, for example:
UPDATE
...
...
categories = (map['categories'] as List)?.map((item) => item as String)?.toList();
...
...
