【问题标题】:How can i filter an state array in functional component in react native如何在本机反应中过滤功能组件中的状态数组
【发布时间】:2020-08-09 02:14:58
【问题描述】:

我在功能组件中定义了一个数组作为状态变量

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

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

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

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

【问题讨论】:

  • @T.J.Crowder 即使在可选运算符之后也会产生错误。感谢您的提示。但主要问题是,一旦我想过滤它抛出未定义的数组,你能帮我解决这个问题吗?

标签: typescript react-native react-hooks use-state vue-functional-component


【解决方案1】:

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

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

应该是

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

希望它对新的 Typescript 有所帮助。

【讨论】:

    猜你喜欢
    • 2017-05-31
    • 1970-01-01
    • 2022-06-27
    • 1970-01-01
    • 2018-04-02
    • 2022-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多