Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用Redux和React钩子设置状态的最佳方法_Reactjs_Redux_React Redux_React Hooks - Fatal编程技术网

Reactjs 使用Redux和React钩子设置状态的最佳方法

Reactjs 使用Redux和React钩子设置状态的最佳方法,reactjs,redux,react-redux,react-hooks,Reactjs,Redux,React Redux,React Hooks,目前我用Redux实现了React钩子。现在唯一的问题是,更改Redux状态时,我的应用程序的性能会下降,例如: import { cardItemIsDragging, storeWidgetDrag } from '../../redux/actions'; 然后: 并且还具有: /** @component */ export default connect(mapStateToProps, { cardItemIsDragging, storeWidgetDrag, })(La

目前我用Redux实现了React钩子。现在唯一的问题是,更改Redux状态时,我的应用程序的性能会下降,例如:

import { cardItemIsDragging, storeWidgetDrag } from '../../redux/actions';
然后:

并且还具有:

/** @component */
export default connect(mapStateToProps, {
  cardItemIsDragging,
  storeWidgetDrag,
})(Layout);
现在,在该组件内部有一个函数将更新Redux状态:

  /** Calls when drag starts. */
  const onDragStart = () => {
    const { cardItemIsDragging } = props;
    cardItemIsDragging(true);
  };
我正在更新此状态,因为我还在另一个组件中使用它。 上面的代码会导致组件/应用程序的性能下降,因此我的问题是,在不损失组件的性能/不必要的重新渲染的情况下设置Redux,但在另一个组件中需要它时保持更改状态的最佳做法是什么

  /** Calls when drag starts. */
  const onDragStart = () => {
    const { cardItemIsDragging } = props;
    cardItemIsDragging(true);
  };