Вот несколько вариантов для вас:
Решение 1: Вы можете вручную monkey-patch рассматриваемый модуль:
Вот как это сделать (общий подход):
Создать новый файл с именем ModifiedEditableText.tsx
Тогда в этом файле:
import { EditableText } from "@blueprintjs/core";
const newModule = {};
// First, copy over all the fields from the original module
for (let fieldName in EditableText) {
newModule[fieldName] = EditableText[fieldName];
}
// Then write new implementations of any function you want to change
newModule.function1 = function(arg, arg2, arg3) {
// new function implementation
// To call the original function do:
EditableText.function1();
}
export default newModule;
Решение 2: Разветвите модуль, внесите изменения, отправьте PR и надейтесь, что он объединен (вероятно, не произойдет)
Решение 3: Создайте модуль, внесите изменения и импортируйте этот модуль в свой код вместо официальной библиотеки
Решение 4: Используйте библиотеку, чтобы обезопасить ваш компонент, вот несколько примеров таких библиотек: