- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
来自 react-redux 官方 docs :
When an action is dispatched, useSelector() will do a reference comparison of the previous selector result value and the current result value. If they are different, the component will be forced to re-render. If they are the same, the component will not re-render.
state = {
groupAB: {
propA: valueA,
propB: valueB
},
propC,
// ETC
}
SomeComponent.tsx
const propA = useSelector((state) => state.groupAB.propA);
如果
groupAB
对象改变了它的引用(因为
propB
发生了变异)但
propA: valueA
保持不变,这个组件会如何表现?
groupAB
改变,组件也不应该重新渲染,因为
useSelector()
关心的是返回,在这个例子中是
valueA
。我对吗?
最佳答案
在 doc 中,我们有:
When the function component renders, the provided selector function will be called and its result will be returned from the useSelector() hook. (A cached result may be returned by the hook without re-running the selector if it's the same function reference as on a previous render of the component.)
when an action is dispatched to the Redux store, useSelector() only forces a re-render if the selector result appears to be different than the last result.
关于javascript - 我可以使用 useSelector() 返回更深层次的嵌套属性/状态值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63881788/
我有一个帮助程序类,它提供有关登录用户的信息。我想将它作为静态方法并在多个地方使用它(不是 react 组件) 如何访问类模型中的 redux 存储值? 最佳答案 如果您可以在应用程序中管理它,那么使
我正在构建一个简单的 rgba 选择器,它允许用户通过向上箭头和向下箭头键切换各个值。下面是我的代码片段。 class App extends Component { constructor(){
想象一下这段代码: class App extends React.Component { state = { name: "george", counter: 1 };
我正在使用 PHP SDK getLoginUrl() 函数,它可以完美地让用户登录。一旦用户被重定向回我的页面,URL 可以有两种形式,请参见以下链接第 3 小节:http://developers
我正在尝试对我的 ReactJS 组件进行单元测试。基本上它是一个由输入和按钮组成的简单组件。单击按钮时,它会触发一个名为“onSave”的事件,并且仅当 state.textValue 不为空时才会
我试图通过将成员变量保存在 ViewState 中(只有几个小变量)来保留它们,但是我读了一下,我发现在 PreRender 阶段将它们保存到 ViewState 中比 PageLoad 更好? 我可
我正在尝试根据用户的输入更改 div 背景颜色。我想将状态键设置为色调,值为用户输入。然后我想获取该状态并将其注入(inject)另一个名为颜色值的状态键。我希望颜色值是在 chromajs 中使用
研究应该是对数据库的简单调用。选择与当前用户对应的记录,然后根据检索到的数据执行一些代码。但是,当它尝试查询数据库时,它返回“数据转换失败。[ OLE DB 状态值(如果已知)= 2 ]”。有什么想法
我正在运行以下代码 /*Fetchinch Last CustID from custMaster*/ int ID = 0; try { con.Open(); da = new
我是一名优秀的程序员,十分优秀!