使用Redux和组件状态是一个好主意吗?

时间:2020-11-05 02:24:13

标签: reactjs redux react-redux

我正在某些应用程序中实现redux,我对最佳方法有疑问。

在我的应用程序的大多数部分中,redux都能满足我的需求(基本上是ssot),但是对于我的一些小动作,我认为这是很多引导(即使使用redux工具包),也可以说是加载屏幕等。

所以我的主要问题是:是否可以在应用程序中同时使用组件状态和Redux状态?这种同时使用两种状态的方法是否会对性能产生影响?

假设我的redux状态具有异步功能,并且我正在从这样的组件中分派:

useEffect(() => {
  dispatch(getUserState());    
}, []);

但是我需要一个正在处理的加载状态:

const [isLoading, setIsLoading] = useState(true)
useEffect(() => {
  dispatch(getUserState())
     .then(() => { setIsLoading(false) }).catch(error => { console.log(error) });
}, []);

然后,我无需修改我的reducer以获得isLoading道具,而是直接在组件中处理它。 (这不是我的代码的直接示例,而是一种表示形式。)

您认为加载状态,隐藏/显示子组件等的最佳方法是什么?

谢谢。

1 个答案:

答案 0 :(得分:0)

当您混合使用redux和组件级别状态时,没有冲突也没有性能问题。凭经验,如果应用程序的任何其他部分需要访问特定状态,或者预见要保留该特定状态,或者满足架构需求,则将其放置在Redux上。