Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在两个项目之间共享相同的redux代码_Reactjs_React Native_Redux_Node Modules - Fatal编程技术网

Reactjs 在两个项目之间共享相同的redux代码

Reactjs 在两个项目之间共享相同的redux代码,reactjs,react-native,redux,node-modules,Reactjs,React Native,Redux,Node Modules,我有一个react web应用程序和react本机应用程序,它们共享几乎相同的redux代码(操作/服务/还原程序) 是否可以在不同的项目中构建redux部件,这样我只需要维护一次,然后将其导入到2个项目中使用它 是的,这是可能的,您需要创建带有操作缩减器的节点包,并将其导出到index.js中。这是一个非常复杂的问题,所以我会告诉你们我是如何做到的 我使用outside web和mobile项目创建节点包。在那里,您需要放置减缩器、操作、常量,并且需要导出index.js中的所有函数和对象 完

我有一个react web应用程序和react本机应用程序,它们共享几乎相同的redux代码(操作/服务/还原程序)


是否可以在不同的项目中构建redux部件,这样我只需要维护一次,然后将其导入到2个项目中使用它

是的,这是可能的,您需要创建带有操作缩减器的节点包,并将其导出到index.js中。这是一个非常复杂的问题,所以我会告诉你们我是如何做到的

我使用outside web和mobile项目创建节点包。在那里,您需要放置减缩器、操作、常量,并且需要导出index.js中的所有函数和对象

完成后,您需要将此节点模块放入web应用程序节点模块中。为了做到这一点,我可以推荐lerna,它正在使用bootstraping实现这一魔法,并在项目之间创建sym链接

我在web和移动应用程序中单独使用了createStore,因为其他库中也有使用redux的Reducer,您可以将它们组合起来

对于react native lerna sym link,由于metro无法在节点模块中加载项目外部的模块,您需要将其放入metro.config.js extraNodeModules中。您的redux代码可以被您的项目使用