Skip to content

Commit b4ad8e9

Browse files
author
Sunil Pai
authored
rename useImperativeMethods -> useImperativeHandle (#14565)
1 parent ab03e3d commit b4ad8e9

9 files changed

Lines changed: 32 additions & 32 deletions

File tree

‎packages/react-debug-tools/src/ReactDebugHooks.js‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ function getPrimitiveStackCache(): Map<string, Array<any>> {
5454
Dispatcher.useRef(null);
5555
Dispatcher.useLayoutEffect(()=>{});
5656
Dispatcher.useEffect(()=>{});
57-
Dispatcher.useImperativeMethods(undefined,()=>null);
57+
Dispatcher.useImperativeHandle(undefined,()=>null);
5858
Dispatcher.useCallback(()=>{});
5959
Dispatcher.useMemo(()=>null);
6060
}finally{
@@ -159,7 +159,7 @@ function useEffect(
159159
hookLog.push({primitive: 'Effect',stackError: newError(),value: create});
160160
}
161161

162-
function useImperativeMethods<T>(
162+
function useImperativeHandle<T>(
163163
ref: {current: T|null} | ((inst: T | null) =>mixed)|null|void,
164164
create: ()=>T,
165165
inputs: Array<mixed> | void | null,
@@ -174,7 +174,7 @@ function useImperativeMethods<T>(
174174
instance =ref.current;
175175
}
176176
hookLog.push({
177-
primitive: 'ImperativeMethods',
177+
primitive: 'ImperativeHandle',
178178
stackError: newError(),
179179
value: instance,
180180
});
@@ -205,7 +205,7 @@ const Dispatcher = {
205205
useCallback,
206206
useContext,
207207
useEffect,
208-
useImperativeMethods,
208+
useImperativeHandle,
209209
useLayoutEffect,
210210
useMemo,
211211
useReducer,

‎packages/react-debug-tools/src/__tests__/ReactHooksInspectionIntegration-test.internal.js‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ describe('ReactHooksInspectionIntergration', () => {
8282
React.useLayoutEffect(effect);
8383
React.useEffect(effect);
8484

85-
React.useImperativeMethods(
85+
React.useImperativeHandle(
8686
outsideRef,
8787
()=>{
8888
// Return a function so that jest treats them as non-equal.
@@ -118,7 +118,7 @@ describe('ReactHooksInspectionIntergration', () => {
118118
{name: 'Ref',value: 'c',subHooks: []},
119119
{name: 'LayoutEffect',value: effect,subHooks: []},
120120
{name: 'Effect',value: effect,subHooks: []},
121-
{name: 'ImperativeMethods',value: outsideRef.current,subHooks: []},
121+
{name: 'ImperativeHandle',value: outsideRef.current,subHooks: []},
122122
{name: 'Memo',value: 'ab',subHooks: []},
123123
{name: 'Callback',value: updateStates,subHooks: []},
124124
]);
@@ -134,7 +134,7 @@ describe('ReactHooksInspectionIntergration', () => {
134134
{name: 'Ref',value: 'C',subHooks: []},
135135
{name: 'LayoutEffect',value: effect,subHooks: []},
136136
{name: 'Effect',value: effect,subHooks: []},
137-
{name: 'ImperativeMethods',value: outsideRef.current,subHooks: []},
137+
{name: 'ImperativeHandle',value: outsideRef.current,subHooks: []},
138138
{name: 'Memo',value: 'Ab',subHooks: []},
139139
{name: 'Callback',value: updateStates,subHooks: []},
140140
]);
@@ -165,7 +165,7 @@ describe('ReactHooksInspectionIntergration', () => {
165165
it('should inspect forwardRef',()=>{
166166
letobj=function(){};
167167
letFoo=React.forwardRef(function(props,ref){
168-
React.useImperativeMethods(ref,()=>obj);
168+
React.useImperativeHandle(ref,()=>obj);
169169
return<div/>;
170170
});
171171
letref=React.createRef();
@@ -174,7 +174,7 @@ describe('ReactHooksInspectionIntergration', () => {
174174
letchildFiber=renderer.root.findByType(Foo)._currentFiber();
175175
lettree=ReactDebugTools.inspectHooksOfFiber(childFiber);
176176
expect(tree).toEqual([
177-
{name: 'ImperativeMethods',value: obj,subHooks: []},
177+
{name: 'ImperativeHandle',value: obj,subHooks: []},
178178
]);
179179
});
180180

‎packages/react-dom/src/__tests__/ReactDOMServerIntegrationHooks-test.internal.js‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ let useContext;
2424
letuseCallback;
2525
letuseMemo;
2626
letuseRef;
27-
letuseImperativeMethods;
27+
letuseImperativeHandle;
2828
letuseLayoutEffect;
2929
letforwardRef;
3030
letyieldedValues;
@@ -48,7 +48,7 @@ function initModules() {
4848
useCallback=React.useCallback;
4949
useMemo=React.useMemo;
5050
useRef=React.useRef;
51-
useImperativeMethods=React.useImperativeMethods;
51+
useImperativeHandle=React.useImperativeHandle;
5252
useLayoutEffect=React.useLayoutEffect;
5353
forwardRef=React.forwardRef;
5454

@@ -529,10 +529,10 @@ describe('ReactDOMServerHooks', () => {
529529
});
530530
});
531531

532-
describe('useImperativeMethods',()=>{
532+
describe('useImperativeHandle',()=>{
533533
it('should not be invoked on the server',async()=>{
534534
functionCounter(props,ref){
535-
useImperativeMethods(ref,()=>{
535+
useImperativeHandle(ref,()=>{
536536
thrownewError('should not be invoked');
537537
});
538538
return<Texttext={props.label+': '+ref.current}/>;

‎packages/react-dom/src/server/ReactPartialRendererHooks.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -347,8 +347,8 @@ export const Dispatcher = {
347347
useLayoutEffect,
348348
// Callbacks are passed as they are in the server environment.
349349
useCallback: identity,
350-
// useImperativeMethods is not run in the server environment
351-
useImperativeMethods: noop,
350+
// useImperativeHandle is not run in the server environment
351+
useImperativeHandle: noop,
352352
// Effects are not run in the server environment.
353353
useEffect: noop,
354354
};

‎packages/react-reconciler/src/ReactFiberDispatcher.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
useCallback,
1313
useContext,
1414
useEffect,
15-
useImperativeMethods,
15+
useImperativeHandle,
1616
useLayoutEffect,
1717
useMemo,
1818
useReducer,
@@ -25,7 +25,7 @@ export const Dispatcher = {
2525
useCallback,
2626
useContext,
2727
useEffect,
28-
useImperativeMethods,
28+
useImperativeHandle,
2929
useLayoutEffect,
3030
useMemo,
3131
useReducer,

‎packages/react-reconciler/src/ReactFiberHooks.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,7 @@ function useEffectImpl(fiberEffectTag, hookEffectTag, create, inputs): void {
557557
);
558558
}
559559

560-
export function useImperativeMethods<T>(
560+
export function useImperativeHandle<T>(
561561
ref: {current: T|null} | ((inst: T | null) =>mixed)|null|void,
562562
create: ()=>T,
563563
inputs: Array<mixed> | void | null,

‎packages/react-reconciler/src/__tests__/ReactHooksWithNoopRenderer-test.internal.js‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ let useLayoutEffect;
2323
letuseCallback;
2424
letuseMemo;
2525
letuseRef;
26-
letuseImperativeMethods;
26+
letuseImperativeHandle;
2727
letforwardRef;
2828
letflushPassiveEffects;
2929
letmemo;
@@ -71,7 +71,7 @@ describe('ReactHooksWithNoopRenderer', () => {
7171
useCallback=React.useCallback;
7272
useMemo=React.useMemo;
7373
useRef=React.useRef;
74-
useImperativeMethods=React.useImperativeMethods;
74+
useImperativeHandle=React.useImperativeHandle;
7575
forwardRef=React.forwardRef;
7676
memo=React.memo;
7777
});
@@ -88,7 +88,7 @@ describe('ReactHooksWithNoopRenderer', () => {
8888
it('resumes after an interruption',()=>{
8989
functionCounter(props,ref){
9090
const[count,updateCount]=useState(0);
91-
useImperativeMethods(ref,()=>({updateCount}));
91+
useImperativeHandle(ref,()=>({updateCount}));
9292
return<Texttext={props.label+': '+count}/>;
9393
}
9494
Counter=forwardRef(Counter);
@@ -172,7 +172,7 @@ describe('ReactHooksWithNoopRenderer', () => {
172172
it('simple mount and update',()=>{
173173
functionCounter(props,ref){
174174
const[count,updateCount]=useState(0);
175-
useImperativeMethods(ref,()=>({updateCount}));
175+
useImperativeHandle(ref,()=>({updateCount}));
176176
return<Texttext={'Count: '+count}/>;
177177
}
178178
Counter=forwardRef(Counter);
@@ -196,7 +196,7 @@ describe('ReactHooksWithNoopRenderer', () => {
196196
ReactNoop.yield('getInitialState');
197197
returnprops.initialState;
198198
});
199-
useImperativeMethods(ref,()=>({updateCount}));
199+
useImperativeHandle(ref,()=>({updateCount}));
200200
return<Texttext={'Count: '+count}/>;
201201
}
202202
Counter=forwardRef(Counter);
@@ -214,7 +214,7 @@ describe('ReactHooksWithNoopRenderer', () => {
214214
functionCounter(props,ref){
215215
const[count,updateCount]=useState(0);
216216
const[label,updateLabel]=useState('Count');
217-
useImperativeMethods(ref,()=>({updateCount, updateLabel}));
217+
useImperativeHandle(ref,()=>({updateCount, updateLabel}));
218218
return<Texttext={label+': '+count}/>;
219219
}
220220
Counter=forwardRef(Counter);
@@ -444,7 +444,7 @@ describe('ReactHooksWithNoopRenderer', () => {
444444
functionCounter({row: newRow},ref){
445445
let[reducer,setReducer]=useState(()=>reducerA);
446446
let[count,dispatch]=useReducer(reducer,0);
447-
useImperativeMethods(ref,()=>({dispatch}));
447+
useImperativeHandle(ref,()=>({dispatch}));
448448
if(count<20){
449449
dispatch('increment');
450450
// Swap reducers each time we increment
@@ -505,7 +505,7 @@ describe('ReactHooksWithNoopRenderer', () => {
505505

506506
functionCounter(props,ref){
507507
const[count,dispatch]=useReducer(reducer,0);
508-
useImperativeMethods(ref,()=>({dispatch}));
508+
useImperativeHandle(ref,()=>({dispatch}));
509509
return<Texttext={'Count: '+count}/>;
510510
}
511511
Counter=forwardRef(Counter);
@@ -546,7 +546,7 @@ describe('ReactHooksWithNoopRenderer', () => {
546546

547547
functionCounter(props,ref){
548548
const[count,dispatch]=useReducer(reducer,0,initialAction);
549-
useImperativeMethods(ref,()=>({dispatch}));
549+
useImperativeHandle(ref,()=>({dispatch}));
550550
return<Texttext={'Count: '+count}/>;
551551
}
552552
Counter=forwardRef(Counter);
@@ -576,7 +576,7 @@ describe('ReactHooksWithNoopRenderer', () => {
576576

577577
functionCounter(props,ref){
578578
const[count,dispatch]=useReducer(reducer,0);
579-
useImperativeMethods(ref,()=>({dispatch}));
579+
useImperativeHandle(ref,()=>({dispatch}));
580580
return<Texttext={'Count: '+count}/>;
581581
}
582582

‎packages/react/src/React.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import {
3232
useCallback,
3333
useContext,
3434
useEffect,
35-
useImperativeMethods,
35+
useImperativeHandle,
3636
useLayoutEffect,
3737
useMemo,
3838
useReducer,
@@ -98,7 +98,7 @@ if (enableHooks) {
9898
React.useCallback=useCallback;
9999
React.useContext=useContext;
100100
React.useEffect=useEffect;
101-
React.useImperativeMethods=useImperativeMethods;
101+
React.useImperativeHandle=useImperativeHandle;
102102
React.useLayoutEffect=useLayoutEffect;
103103
React.useMemo=useMemo;
104104
React.useReducer=useReducer;

‎packages/react/src/ReactHooks.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,11 @@ export function useMemo(
102102
returndispatcher.useMemo(create,inputs);
103103
}
104104

105-
export function useImperativeMethods<T>(
105+
export function useImperativeHandle<T>(
106106
ref: {current: T|null} | ((inst: T | null) =>mixed)|null|void,
107107
create: ()=>T,
108108
inputs: Array<mixed> | void | null,
109109
): void {
110110
constdispatcher=resolveDispatcher();
111-
returndispatcher.useImperativeMethods(ref,create,inputs);
111+
returndispatcher.useImperativeHandle(ref,create,inputs);
112112
}

0 commit comments

Comments
 (0)