StateManagment 工具与原生 useState

问题描述

我只是在这里很好奇,但与原生 useState 或 context api 相比,使用 redux 或 mobx 时是否有任何性能下降?无论多小 例子

// mobx code
@observable isLoading: boolean = false;
@action setLoading = () => {
loading = true;
}

// native react code
const [loading,setLoading] = useState<boolean>(false);
const setLoader = () => setLoading(true);

如果一个组件尝试从上面的每个代码访问加载状态,是否有性能差异?或者我只是绊倒哈哈

解决方法

每个状态管理工具都需要触发重新渲染。它将通过在组件中发出某种本地状态更改来实现(至少对于功能组件而言)。因此,您有本地状态更改的成本,另外还有外部跟踪哪个组件订阅了状态的哪个部分等的额外成本。

也就是说:这无关紧要。这是以纳秒为代价的。你甚至永远无法在现实中衡量它。