Skip to content

Commit 952b712

Browse files
committed
fixup! [New] Symmetric useState hook variable names
1 parent b348765 commit 952b712

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

lib/rules/hook-use-state.js

+8-12
Original file line numberDiff line numberDiff line change
@@ -154,21 +154,19 @@ module.exports = {
154154
const isSingleGetter = valueVariable && variableNodes.length === 1;
155155
const isUseStateCalledWithSingleArgument = node.arguments.length === 1;
156156
if (isSingleGetter && isUseStateCalledWithSingleArgument) {
157-
const useMemoReactImportSpecifier = namedReactImports ? namedReactImports.find((specifier) => specifier.imported.name === 'useMemo') : undefined;
158-
const sourceCode = context.getSourceCode();
159-
const useStateArgumentSourceCode = sourceCode.getText(node.arguments[0]);
157+
const useMemoReactImportSpecifier = namedReactImports
158+
&& namedReactImports.find((specifier) => specifier.imported.name === 'useMemo');
160159

161160
suggestions.unshift({
162161
desc: 'Replace useState call with useMemo',
163162
fix: (fixer) => {
164-
const useMemoImportName = useMemoReactImportSpecifier && useMemoReactImportSpecifier.local.name;
165-
166-
const useMemoReference = useMemoImportName
167-
|| (defaultReactImportName
163+
const useMemoCode = (useMemoReactImportSpecifier
164+
&& useMemoReactImportSpecifier.local.name)
165+
|| (defaultReactImportName
168166
&& `${defaultReactImportName}.useMemo`)
169-
|| 'useMemo';
167+
|| 'useMemo';
170168

171-
const fixes = [
169+
return [
172170
// Add useMemo import, if necessary
173171
useStateReactImportSpecifier
174172
&& (!useMemoReactImportSpecifier || defaultReactImportName)
@@ -178,11 +176,9 @@ module.exports = {
178176
// Convert useState call to useMemo + arrow function + dependency array
179177
fixer.replaceTextRange(
180178
node.range,
181-
`${useMemoReference}(() => ${useStateArgumentSourceCode}, [])`
179+
`${useMemoCode}(() => ${context.getSourceCode().getText(node.arguments[0])}, [])`
182180
),
183181
].filter(Boolean);
184-
185-
return fixes;
186182
},
187183
});
188184
}

0 commit comments

Comments
 (0)