React调度状态未以相同方法更新



当我在这个场景中使用2种方法(onClick(时,我有一个调度正在正确更新状态

const sizesMeasureChoise = useSelector(getSizesMeasureChoise);

const chooseMeasure = (measure) => {
dispatch(setSizeMeasureChoise(measure));
};
const chooseType = (type) => {
const sizeChoise = sizesMeasureChoise.description;
}

然后我改变了,我把所有的东西都放在一个方法中(因为我删除了chooseType步骤(,并且在调度之后状态没有更新

const sizesMeasureChoise = useSelector(getSizesMeasureChoise);
const chooseMeasure = (measure) => {
dispatch(setSizeMeasureChoise(measure));
const sizeChoise = sizesMeasureChoise.description;
}

取决于什么,我该如何解决?

一旦调度了操作,存储中的更新值将仅在下一次渲染时可用。

对于具有钩子的功能组件以及使用connect HOC的类,这种行为是相同的。

您只需要修改您的代码,以免立即发生更改。

如果你能用一个只有相关钩子的最小样本来描述你想要得到什么(而不是"如何"(;数据的呈现方式更容易提出解决方案。

最新更新