@@ -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