[react]:useMemo 在传递数组时返回第一个元素

问题描述

这是示例代码

export default function App() {
  const [links] = React.useMemo(
    () => ['hello','world'],[]
  )
  return (
    <div className="App">
      <button onClick={() => console.log(links)}>console</button>
    </div>
  );
}

当按钮被点击时,我在控制台中得到关注

hello

我的问题:由于它返回第一个元素,我无法映射 links 数组。它甚至是我应该使用 useMemo 的方式吗?请注意,我传递的数组是例如,元素可能会变得比简单的字符串更大。

解决方法

问题是,正如 @Andrea Giammarchi 所指出的,左值中的链接的解构

以下代码修复了问题:

- const [links] = React.useMemo(
+ const links = React.useMemo(

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...