如何在 React PropTypes 中使用导入的值?

Iorweth333

我正在创建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'
};

但是我收到一条错误消息,指出MODESundefined. 现在,我只是通过对值进行硬编码来解决它,但这不雅,我想改进它。我能做什么?

编辑:我在沙箱中重新创建了这个问题:codesandbox.io

叶戈尔·科尔达索夫

你有一个循环依赖

  1. 首先代码Users.jsApp.js.
  2. 然后Users.js进口UserCreator.js
  3. 然后UserCreator.js进口ManageUserForm.js
  4. 然后再次ManageUserForm.js导入Users.js

所有这些甚至在MODES变量被定义之前您不应该导入Users.jsManageUserForm.js因为Users.js它本身依赖于ManageUserForm.jsthrough UserCreator.js

您可以将MODES定义移动ManageUserForm.js并导入,Users.js或者更好地将其完全移动到单独的文件中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章