是否可以从香草javascript中导入和使用react-redux组件

时间:2019-05-20 01:50:33

标签: javascript reactjs redux

我有两个应用程序,其中之一是用javascript和html和css编写的。另一个是react + redux应用程序。

是否可以从我的原始javascript应用程序内部的react + redux应用程序中导入和使用组件,而不会引入对react和redux的依赖性?

1 个答案:

答案 0 :(得分:3)

简短回答,,具体取决于您编写代码的方式。即,假设您使用的是ES6模块,或使用将按原样处理它们的编译器。

首先,请记住react-redux只是redux的实现。 Redux本身可以正常工作。

假设您正在谈论的是重用化极器和动作创建者,那么这很好-因为它们都是纯函数。

例如说您的应用看起来像:

index.js

import React from "react"; 
import store from "./store";
import {createUser} from "./actions"; 
import { Provider } from 'react-redux';

//etc. 

store.js

import { createStore } from 'redux'
import rootReducer from '../reducers'

    export default function() {
        return createStore(rootReducer); 
    }

actions.js

   export  function addUser(name) {
       return {
            type: "ADD_USER", 
            payload: name, 
       }
   }

reducers.js

   export default function (state ={}, action)  {

        return {
            value: action.payload
        }
    }

在这种情况下,假设您要重用该动作和reducer。

然后,您可以仅从这些模块中导入功能。 ESM模块足够智能,仅需导入所需的内容即可。

另一方面,假设您正在导入createStore(默认)方法,那么您还将导入对redux的依赖项。