React native 我应该把API调用放在哪里?

React native 我应该把API调用放在哪里?,react-native,react-redux,React Native,React Redux,对于React Native来说,我是个新手,我想在我的第一个项目中应用适当的良好实践。我正在尝试建立一个黑客新闻客户端 你可以在这里找到:正如你所看到的,我正处于我项目的最开始 我愿意将我为从当前所在组件获取消息而进行的API调用分离开来。我的目标是最大化代码重用 在伪代码中,我是这样做的: componentDidMount = () => { this.makeApiRequest(); } makeApiRequest = () => { // Ask fo

对于React Native来说,我是个新手,我想在我的第一个项目中应用适当的良好实践。我正在尝试建立一个黑客新闻客户端

你可以在这里找到:正如你所看到的,我正处于我项目的最开始

我愿意将我为从当前所在组件获取消息而进行的API调用分离开来。我的目标是最大化代码重用

在伪代码中,我是这样做的:

componentDidMount = () => {
    this.makeApiRequest();
}

makeApiRequest = () => {
    // Ask for data
    // Save data in component state
}

render = () => {
    // Use data to render stuff...
}
我仍然对redux感到困惑,我仍然不确定它是否能以任何方式满足我的需求,并帮助我组织代码


有什么建议吗?

你说得对。最常见的错误是将API调用放在componentWillMount生命周期挂钩中,但您比大多数人更聪明:

与大多数事情一样,正确的答案将是一个令人不满意的答案,这要视情况而定。因为你才刚刚开始,我认为你走在了正确的轨道上。保持简单,直到简单变得难以管理,然后重构以解决复杂性

你可以采用几种策略。我认为你已经迈出了正确的第一步。不过,在适当的时候,您可能还需要研究其他一些策略

容器组件 您基本上是将无状态组件包装在负责获取所需数据的容器中。这将是你合乎逻辑的下一步。这里有几篇关于这个话题的文章,我已经加入了书签

API助手 这是我从Tyler McGinnis那里学到的策略,并在我的第一个项目中使用。基本上,您可以将所有API调用放在一个帮助文件中。当需要调用API时,只需导入并使用它。如果需要,您可以轻松地将其与上面的容器策略相结合

重演 Redux应该是你的最后一站。这给项目增加了很多样板文件,而且是有成本的。在您需要解决问题之前,请保持简单。Redux非常擅长解决这些问题。你怎么知道那是什么时候?丹·阿布罗莫夫写了一篇很棒的文章,所以我会让他告诉你,这样你就可以自己做出权衡


你在正确的轨道上。最常见的错误是将API调用放在componentWillMount生命周期挂钩中,但您比大多数人更聪明:

与大多数事情一样,正确的答案将是一个令人不满意的答案,这要视情况而定。因为你才刚刚开始,我认为你走在了正确的轨道上。保持简单,直到简单变得难以管理,然后重构以解决复杂性

你可以采用几种策略。我认为你已经迈出了正确的第一步。不过,在适当的时候,您可能还需要研究其他一些策略

容器组件 您基本上是将无状态组件包装在负责获取所需数据的容器中。这将是你合乎逻辑的下一步。这里有几篇关于这个话题的文章,我已经加入了书签

API助手 这是我从Tyler McGinnis那里学到的策略,并在我的第一个项目中使用。基本上,您可以将所有API调用放在一个帮助文件中。当需要调用API时,只需导入并使用它。如果需要,您可以轻松地将其与上面的容器策略相结合

重演 Redux应该是你的最后一站。这给项目增加了很多样板文件,而且是有成本的。在您需要解决问题之前,请保持简单。Redux非常擅长解决这些问题。你怎么知道那是什么时候?丹·阿布罗莫夫写了一篇很棒的文章,所以我会让他告诉你,这样你就可以自己做出权衡

你也可以调查一下。您可以将API调用放在mobx@action-methods中,也可以查看。您可以将API调用放在mobx@action方法中