1

在此处输入图像描述我在功能组件中定义了一个数组作为状态变量

const [MessageResultsFirebase, setMessagesFirebase] = useState<MessageCellPropsFirebase[]>();

我想使用 Array.filter 函数对其进行过滤以更新列表。

var filterResult: MessageCellPropsFirebase = MessageResultsFirebase?.filter((element, index, array)=>{
       return (element.key == snapshot.key);
     });

但它给出了错误“找不到未定义的属性过滤器”。PS:console.log(MessageResultsFirebase); 在相同的上下文中工作。请帮助我对这些不熟悉。

4

1 回答 1

1

所以这是由于在 Usestate 函数中声明的类型而不是

const [MessageResultsFirebase, setMessagesFirebase] = useState<MessageCellPropsFirebase[]>();

它应该是

const [MessageResultsFirebase, setMessagesFirebase] = useState<Array<MessageCellPropsFirebase>>();

希望它可以帮助某人新的打字稿。

于 2020-04-29T06:04:42.047 回答