gpt4 book ai didi

javascript - 不用 Redux 管理状态

转载 作者:行者123 更新时间:2023-11-30 11:11:05 28 4
gpt4 key购买 nike

我注意到在没有必要的地方使用 Redux,例如我有一个加载该帖子的帖子页面,它是评论。

它们只在该页面上呈现,其他地方不需要,我可以将数据从我的 Post 容器传递给子 Prop 。

Now I wonder how do you maintain a clean state when not using Redux? I'm currently loading the post data and the comments data using 2 API calls, and Promise.all() to wait for them both to complete, before hiding the loading.

componentDidMount() {
Promise.all([
pathService.get(this.props.match.params.slug),
courseService.get(this.props.match.params.slug)
]).then(promises => {
this.setState({
loading: false,
path: promises[0].data,
courses: promises[1].data
})
});
}

这是处理关系数据的正确方法吗?是否有其他选择,或者我应该以哪种方式查看 Redux?

最佳答案

如果您想继续不使用 Redux,我会说您当前的方法很棒。

您是否使用 Redux 在很大程度上取决于您对它的熟悉程度以及您的应用程序的大小。当您说它经常被不必要地使用时,您是对的,但有时它可能是一个有用的工具。

对于这个特定的组件,如果您在与您的 Post 组件没有直接父/子关系的其他组件中使用 Promises 的结果状态,Redux 可能会有所帮助。您可以想象,将结果状态一直向上传递到组件树,然后返回到树的另一臂中的另一个组件可能会变得很麻烦。这是 Redux 存储的优势所在,因为您可以从存储中检索此状态,而无需将其传递到整个组件树。

奖励:如果您正在寻找其他方法并且可以使用全新的 React 功能,请查看 React hooks。它们是处理更复杂问题的好方法完全不使用 Redux 的状态! https://reactjs.org/docs/hooks-intro.html

关于javascript - 不用 Redux 管理状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53656370/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com