Skip to content

Commit c209192

Browse files
authored
fix(trigger): fixed output function performance (#106)
close #104
1 parent 7aed1ec commit c209192

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

src/Textarea.jsx

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ class ReactTextareaAutocomplete extends React.Component<
7171
selectionEnd: 0,
7272
selectionStart: 0,
7373
component: null,
74+
textToReplace: null,
7475
};
7576

7677
componentDidMount() {
@@ -217,9 +218,14 @@ class ReactTextareaAutocomplete extends React.Component<
217218
);
218219
};
219220

220-
_getTextToReplace = (): ?outputType => {
221-
const { currentTrigger, actualToken } = this.state;
222-
const triggerSettings = this._getCurrentTriggerSettings();
221+
_getTextToReplace = ({
222+
actualToken,
223+
currentTrigger,
224+
}: {|
225+
actualToken: string,
226+
currentTrigger: string,
227+
|}): ?outputType => {
228+
const triggerSettings = this.props.trigger[currentTrigger];
223229

224230
if (!currentTrigger || !triggerSettings) return null;
225231

@@ -543,6 +549,10 @@ class ReactTextareaAutocomplete extends React.Component<
543549
selectionEnd,
544550
selectionStart,
545551
currentTrigger,
552+
textToReplace: this._getTextToReplace({
553+
actualToken,
554+
currentTrigger,
555+
}),
546556
actualToken,
547557
},
548558
() => {
@@ -648,10 +658,10 @@ class ReactTextareaAutocomplete extends React.Component<
648658
currentTrigger,
649659
component,
650660
value,
661+
textToReplace,
651662
} = this.state;
652663

653664
const suggestionData = this._getSuggestions();
654-
const textToReplace = this._getTextToReplace();
655665

656666
return (
657667
<div

src/types.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,5 @@ export type TextareaState = {
102102
selectionEnd: number,
103103
selectionStart: number,
104104
component: ?React$StatelessFunctionalComponent<*>,
105+
textToReplace: ?outputType,
105106
};

0 commit comments

Comments
 (0)