修补节点包中使用的 react 组件

Patching react component used from a node package

提问人:Himanshu Soni 提问时间:10/4/2023 更新时间:10/4/2023 访问量:15

问:

我的设计库中有几个 React 组件,它们在我的 React 应用程序中被广泛使用。在整个应用程序中,有许多实例:import { Text, Button, xyz & more } from 'my-awesome-design-library'

现在,我想扩展 TextButton 组件的功能,并在 Redux 中引入一些基于 Local 状态的功能。为了实现这一点,我可以创建包装器组件,如 MagicTextMagicButton,定义在 中。src/MagicModule

此时,我需要手动更新所有出现的组件导入。但是,使用简单的查找和替换是行不通的,因为某些导入可能包含其他命名导入(如上所述的“xyz & more”)。

  • 适用于import { Text } from 'my-awesome-design-library'
  • 不起作用import { Text, List, Heading } from 'my-awesome-design-library'

将此作为最后的手段,我想知道是否有更好的方法来实现这一目标,例如猴子修补。所以,我的问题是:有没有办法将我的应用程序配置为在导入时从中读取?src/components/MagicModulemy-awesome-design-library

reactjs 反应函数组件

评论

0赞 Sergey Sosunov 10/4/2023
不确定是否有一种神奇的修补方法,但我会使用 eslint.org/docs/latest/rules/no-restricted-imports 将所有导入和来自的黑名单,然后修复 IDE/linter 之后显示的所有错误。TextButtonmy-awesome-design-library

答: 暂无答案