React native 在何处实现重复逻辑,如在RN中共享图像?

React native 在何处实现重复逻辑,如在RN中共享图像?,react-native,redux,react-redux,React Native,Redux,React Redux,用户可以在我的应用程序中共享图像。这可以通过长按列表项或单击列表项后显示的详细信息屏幕中的按钮来完成 对于行(列表项),我有自己的容器和详细信息屏幕 我应该把共享逻辑放在哪里?共享可以替换为我在应用程序中不同位置使用的任何其他操作,而不会对redux商店产生影响 在谷歌地图或苹果地图中打开地址 拨打电话号码 将映像保存到设备存储器 目前我看到三种选择: 动作、中间件、助手类 但是,最好的方法是什么呢?您应该将它们放在一个高阶组件(HOC)中,并使用它来装饰具有这些功能的组件 @sharea

用户可以在我的应用程序中共享图像。这可以通过长按列表项或单击列表项后显示的详细信息屏幕中的按钮来完成

对于行(列表项),我有自己的容器和详细信息屏幕

我应该把共享逻辑放在哪里?共享可以替换为我在应用程序中不同位置使用的任何其他操作,而不会对redux商店产生影响

  • 在谷歌地图或苹果地图中打开地址
  • 拨打电话号码
  • 将映像保存到设备存储器
目前我看到三种选择:

动作、中间件、助手类


但是,最好的方法是什么呢?

您应该将它们放在一个高阶组件(HOC)中,并使用它来装饰具有这些功能的组件

@shareable
类ImageItem扩展React.Component{
render(){
const{handleShare}=this.props//由@sharedable注入
const{imgSrc}=this.props
返回(
分享
)
}
}

此react模式非常适合为组件创建可重用的数据/行为模型。

我现在正在做的是,我有一个BaseComponent,它扩展了正常的react本机组件,然后我让所有其他组件扩展我的BaseComponent,而不是常规的RN组件

这样我就可以共享我通常使用的功能,比如获得一个合成的风格,对链接、弹出窗口等动作做出反应

如果您有很多属于某个特定类别的代码/函数,那么是的,我创建了另一个帮助程序,BaseComponent保存了对该帮助程序的引用


因此,当我需要它时,我知道我可以调用类似这样的.getHelper()函数,任何组件都可以访问该助手或函数

我问自己同样的问题。在哪里编写与Redux生态系统无关的代码?我个人为此编写了utils/helper函数。等待其他建议。我将投票支持UTIL和helper。不相关的redux代码应该在这些服务中的一个或
服务中
您对服务的确切含义是什么?只是帮助器类的另一个命名,或者您将如何实现它?