Haste 模块映射中不存在模块`EmployeeFormReducer`
Posted
技术标签:
【中文标题】Haste 模块映射中不存在模块`EmployeeFormReducer`【英文标题】:Module `EmployeeFormReducer` does not exist in the Haste module map 【发布时间】:2018-12-03 06:08:04 【问题描述】:我正在开发我的 React Native 应用程序并在收到此错误时重新加载了模拟器:
模块
EmployeeFormReducer
在急速模块地图中不存在
EmployeeFormReducer
是我已经拥有的减速器,我在模拟器中测试之前添加了EMPLOYEE_UPDATE
案例:
import EMPLOYEE_UPDATE from '../actions/types';
const INITIAL_STATE =
name: '',
phone: '',
shift: ''
;
export default (state = INITIAL_STATE, action) =>
switch (action.type)
case EMPLOYEE_UPDATE:
return ...state, [action.payload.prop]: action.payload.value ;
default:
return state;
;
我没有忘记将它添加到我的 combineReducers:
import combineReducers from 'redux';
import AuthReducer from './AuthReducer';
import EmployeeFormReducer from 'EmployeeFormReducer';
export default combineReducers(
auth: AuthReducer,
employeeForm: EmployeeFormReducer
);
我认为这是基于 facebooks github 上记录的 React Native 问题:
这可能与 https://github.com/facebook/react-native/issues/4968解决试试 以下: 1.清除守望者手表:
watchman watch-del-all
。 2、删除node_modules
文件夹:rm -rf node_modules && npm install
。 3. 重置 Metro Bundler 缓存:rm -rf /tmp/metro-bundler-cache-*
或npm start -- --reset-cache
。 4.删除急速缓存:`rm -rf /tmp/haste-map-react-native-packager-*
但我运行了所有这些命令,但仍然收到错误消息。
【问题讨论】:
【参考方案1】:在您的导入中,您应该指定要导入的文件的路径,查看您如何导入“AuthReducer”,因此您对“EmployeeFormReducer”的导入应该是:
import EmployeeFormReducer from './EmployeeFormReducer';
或文件的任何完整路径。
【讨论】:
这就是我答应自己不加班的原因。谢谢。以上是关于Haste 模块映射中不存在模块`EmployeeFormReducer`的主要内容,如果未能解决你的问题,请参考以下文章
错误:jest-haste-map:Haste 模块命名冲突:
jest-haste-map: Haste 模块命名冲突 (AWS, RN)