React优化:将useMemo应用于useState返回值的目标是什么?

问题描述

this article中使用上下文API进行状态管理中,作者通过以下方式将useMemo应用于useState返回值:

function CountProvider(props) {
  const [count,setCount] = React.useState(0)
  const value = React.useMemo(() => [count,setCount],[count])
  return <CountContext.Provider value={value} {...props} />
}

我不确定要了解此优化的目标:

  • 1 /是为了防止在 props 发生任何更改时重新渲染,
  • 2 /还是 setCount 本身可以虚假地更改?

如果为1,则等于下面的代码吗? (因为:我们希望将 children 之外的其他道具传递给上下文提供者?并且如果 children 进行更改,则需要重新渲染)

function CountProvider({children}) {
  const [count,setCount] = React.useState(0)
  return (
    <CountContext.Provider value={[count,setCount]}>
      {children}
    </CountContext.Provider>
  );
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

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