React:如何在BasicMaintainer组件中调用GeneratingUnit的columns常量?
如何在React组件中访问另一个组件导出的常量?
你遇到的问题其实是导出方式导致的——columns是在GeneratingUnit文件里单独命名导出的,并不是挂在默认导出的组件上,所以直接用GeneratingUnit.columns肯定拿不到。给你两种简单的解决方法:
方法一:直接命名导入columns
这是最清晰直观的方式,在BasicMaintainer里同时导入默认组件和命名导出的columns:
// 修改BasicMaintainer里的导入语句 import GeneratingUnit, { columns } from "./generating-unit"; // 然后在handleOnSelectFile里直接使用 handleOnSelectFile = event => { const totalColumns = columns.length; // 接下来就可以用totalColumns实现你需要的逻辑了 }
方法二:导入整个模块
如果你不想单独导入columns,也可以把整个GeneratingUnit文件的导出作为一个模块对象导入:
// 替换原来的导入语句 import * as GeneratingUnitModule from "./generating-unit"; // 在方法里这样访问columns handleOnSelectFile = event => { const totalColumns = GeneratingUnitModule.columns.length; // 同样可以正常使用这个值 }
简单解释下:你之前写的GeneratingUnit是文件的默认导出(那个函数组件),而columns是独立的命名导出项,两者不属于同一个导出对象,所以不能通过默认导出的组件去访问这个常量,必须单独导入或者通过模块对象来获取。
内容的提问来源于stack exchange,提问作者pmiranda
相关产品推荐
相关产品推荐

