我正在创建PropTypes
一个功能组件,我想PropTypes.oneOf
与从另一个文件导入的对象一起使用:
import { MODES } from '../../../Users';
(...)
ManageUserForm.propTypes = {
mode: PropTypes.oneOf(Object.values(MODES)),
}
在Users.js
, MODES看起来像这样:
export const MODES = {
add: 'add', edit: 'edit', changePassword: 'changePassword',
block: 'block', unblock: 'unblock', delete: 'delete'
};
但是我收到一条错误消息,指出MODES是undefined
. 现在,我只是通过对值进行硬编码来解决它,但这不雅,我想改进它。我能做什么?
编辑:我在沙箱中重新创建了这个问题:codesandbox.io
你有一个循环依赖。
Users.js
从App.js
.Users.js
进口UserCreator.js
。UserCreator.js
进口ManageUserForm.js
。ManageUserForm.js
导入Users.js
所有这些甚至在MODES
变量被定义之前。您不应该导入Users.js
,ManageUserForm.js
因为Users.js
它本身依赖于ManageUserForm.js
through UserCreator.js
。
您可以将MODES
定义移动到ManageUserForm.js
并导入,Users.js
或者更好地将其完全移动到单独的文件中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句