File tree Expand file tree Collapse file tree 2 files changed +28
-10
lines changed
packages/react-paypal-js/src/stories/payPalCardFields Expand file tree Collapse file tree 2 files changed +28
-10
lines changed Original file line number Diff line number Diff line change @@ -330,16 +330,28 @@ export const WithDynamicOrderState: FC = () => {
330330 column : number ,
331331 count : number ,
332332 ) => {
333- const index = row * 4 + column ;
334- const newFieldsTableCounts = [ ...fieldsTableCounts ] ;
335- newFieldsTableCounts [ index ] = count ;
336- setFieldsTableCounts ( newFieldsTableCounts ) ;
333+ setFieldsTableCounts ( ( prevFieldsTableCounts ) => {
334+ const index = row * 4 + column ;
335+ if ( prevFieldsTableCounts [ index ] === count ) {
336+ return prevFieldsTableCounts ;
337+ }
338+
339+ const newFieldsTableCounts = [ ...prevFieldsTableCounts ] ;
340+ newFieldsTableCounts [ index ] = count ;
341+ return newFieldsTableCounts ;
342+ } ) ;
337343 } ;
338344
339345 const updateProviderTableCount = ( index : number , count : number ) => {
340- const newProviderTableCounts = [ ...providerTableCounts ] ;
341- newProviderTableCounts [ index ] = count ;
342- setProviderTableCounts ( newProviderTableCounts ) ;
346+ setProviderTableCounts ( ( prevProviderTableCounts ) => {
347+ if ( prevProviderTableCounts [ index ] === count ) {
348+ return prevProviderTableCounts ;
349+ }
350+
351+ const newProviderTableCounts = [ ...prevProviderTableCounts ] ;
352+ newProviderTableCounts [ index ] = count ;
353+ return newProviderTableCounts ;
354+ } ) ;
343355 } ;
344356
345357 async function createOrder ( ) {
Original file line number Diff line number Diff line change @@ -340,9 +340,15 @@ export const WithDynamicOrderState: FC = () => {
340340 const [ isPaying , setIsPaying ] = useState ( false ) ;
341341
342342 const updateProviderTableCount = ( index : number , count : number ) => {
343- const newProviderTableCounts = [ ...providerTableCounts ] ;
344- newProviderTableCounts [ index ] = count ;
345- setProviderTableCounts ( newProviderTableCounts ) ;
343+ setProviderTableCounts ( ( prevProviderTableCounts ) => {
344+ if ( prevProviderTableCounts [ index ] === count ) {
345+ return prevProviderTableCounts ;
346+ }
347+
348+ const newProviderTableCounts = [ ...prevProviderTableCounts ] ;
349+ newProviderTableCounts [ index ] = count ;
350+ return newProviderTableCounts ;
351+ } ) ;
346352 } ;
347353
348354 async function createOrder ( ) {
You can’t perform that action at this time.
0 commit comments