我有两个应用程序,其中之一是用javascript和html和css编写的。另一个是react + redux应用程序。
是否可以从我的原始javascript应用程序内部的react + redux应用程序中导入和使用组件,而不会引入对react和redux的依赖性?
答案 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的依赖项。