我有一个与'connect'和一个表示组件
相关的奇怪问题import React from 'react';
import { withRouter } from 'react-router';
import { connect } from 'react-redux';
import * as optionGroupActions from 'actions/optionGroupActions';
import OptionGroupForm from 'components/optionGroup/OptionGroupForm';
const mapDispatchToProps = (dispatch, ownProps) => {
return {
saveOptionGroup: (optionGroup) => {
dispatch(optionGroupActions.fetchSaveOptionGroup(optionGroup));
},
onClickCancel: () => {
ownProps.router.push('/product/options');
}
};
};
const OptionGroupAddContainer = connect(
null,
mapDispatchToProps
)(OptionGroupForm);
export default OptionGroupAddContainer;
这可行但是如果我用这个
更改导入import { OptionGroupForm } from 'components’;
我收到了这个错误:
connect.js:57Uncaught TypeError: Cannot read property 'displayName' of undefined
components / index.js看起来像
// OptionGroups
import OptionGroupForm from 'components/optionGroup/OptionGroupForm';
export {
OptionGroupForm
};
答案 0 :(得分:2)
如果你想import
如下
import { OptionGroupForm } from 'components’;
您必须在构建过程配置文件中使用resolve
来定义path
变量,
或者你可以import
就像下面那样
import { OptionGroupForm } from './components’;
编辑:您的组件/ index.js应如下所示
import OptionGroupForm from './optionGroup/OptionGroupForm';
export {
OptionGroupForm
};
答案 1 :(得分:1)
根据您的构建过程,您可能需要像这样指定导入,以便将源视为相对路径而不是npm模块名称:
import { OptionGroupForm } from './components’;