Javascript 使用Redux获取数据
与仅使用规则模式获取数据相比,使用上述Redux获取数据有哪些优势Javascript 使用Redux获取数据,javascript,reactjs,react-native,redux,react-redux,Javascript,Reactjs,React Native,Redux,React Redux,与仅使用规则模式获取数据相比,使用上述Redux获取数据有哪些优势 class Posts extends Component { state = { posts: [] }; componentDidMount() { fetch(url).then(res => this.setState({ posts: res.json().posts }); } render() { return ... } } 它是为了使异步获取更容易吗?是否可以更
class Posts extends Component {
state = { posts: [] };
componentDidMount() {
fetch(url).then(res => this.setState({ posts: res.json().posts });
}
render() {
return ...
}
}
它是为了使异步获取更容易吗?是否可以更容易地将数据持久保存在存储中,以便我可以在重新打开应用程序时检索数据,而无需再次提取?实际上,这不是为什么要从异步操作中提取数据的问题,似乎您需要了解Redux库作为一个整体带来的好处
阅读Redux库作者的文章,不管您是否真的需要Redux,或者它带来了什么好处:使用Redux获取数据不一定有好处,但更重要的是知道使用Redux获取数据时发生了什么 几乎总是一样的流量
Posts
或PostList
组件需要从json api获取一个Posts列表,以便正确显示自己。因此,我将在类上定义一个componentDidMount()
方法。这就是为什么我创建PostList作为一个基于类的组件,以确保我可以访问生命周期方法componentDidMount()
生命周期方法中,我们将放置一个动作创建者。因此,只要我们的组件出现在屏幕上,就会自动调用action creator李>
mapStateToProps()
获取json api数据,比如说它是一个帖子列表。我们把它从全局状态对象中取出,放到我们的组件中组件didmount()
生命周期方法是一种常见做法。我们希望通过通常在生命周期方法中调用动作创建者来确保组件本身负责它们所需的数据
在其他一些地方,您可以调用action creator来获取数据,但这涉及到此处未提及的其他库。最常见的是componentDidMount()
lifecycle方法
关于动作创建者,我们通常会确保动作创建者负责提出我们的API请求。在某些情况下,您可能会组合一些外部类或服务来为我们执行实际请求,但通常是由action creator执行api数据的初始获取。进入舞台的左边是雷德克斯·图恩
最后一件事,当您获取数据并将其放入组件时,您总是使用mapStateToProps函数从redux存储中获取数据并将其放入组件。我想您可能需要阅读redux的常见问题解答中还有一些值得思考的地方:您的问题不是更多地是关于使用redux的优势,而不是关于使用redux获取数据的优势吗?因为如果您对以演示方式保存数据的组件没有问题,那么首先就不需要使用Redux。但如果你不是,例如,如果你想像你说的那样避免再次获取相同的数据,你可能会想使用Redux,而你提到的模式是当你需要处理异步调用时的一种方法。Dan Abramov关于异步逻辑如何适应Redux应用程序的解释也与此相关。