From 9db3ecb0e4bd10cc9a9eeb4b40ee535febdfe582 Mon Sep 17 00:00:00 2001 From: apades Date: Thu, 24 Jun 2021 01:54:49 +0800 Subject: [PATCH 1/4] support dynamic imageUrls --- src/image-viewer.component.tsx | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/image-viewer.component.tsx b/src/image-viewer.component.tsx index 848eb7b1..aa37524c 100644 --- a/src/image-viewer.component.tsx +++ b/src/image-viewer.component.tsx @@ -73,6 +73,9 @@ export default class ImageViewer extends React.Component { useNativeDriver: !!this.props.useNativeDriver }).start(); } + if (prevProps.imageUrls?.length !== this.props.imageUrls?.length) { + this.init(this.props); + } } /** @@ -86,13 +89,14 @@ export default class ImageViewer extends React.Component { } // 给 imageSizes 塞入空数组 - const imageSizes: IImageSize[] = []; - nextProps.imageUrls.forEach(imageUrl => { - imageSizes.push({ - width: imageUrl.width || 0, - height: imageUrl.height || 0, - status: 'loading' - }); + const imageSizes = this.state.imageSizes ?? []; + nextProps.imageUrls.forEach((imageUrl, i) => { + let nowImageSize = imageSizes[i]; + imageSizes[i] = { + width: nowImageSize?.width ?? imageUrl.width ?? 0, + height: nowImageSize?.height ?? imageUrl.height ?? 0, + status: nowImageSize?.status ?? 'loading' + }; }); this.setState( From 3d9518f693e451f67b5553df0985753fabd587a9 Mon Sep 17 00:00:00 2001 From: apades Date: Tue, 29 Jun 2021 01:17:20 +0800 Subject: [PATCH 2/4] change prettierrc config --- .prettierrc | 1 + 1 file changed, 1 insertion(+) diff --git a/.prettierrc b/.prettierrc index 4776b274..fe76cde6 100755 --- a/.prettierrc +++ b/.prettierrc @@ -1,4 +1,5 @@ { + "root:true, "bracketSpacing": true, "printWidth": 120, "proseWrap": "never", From 24262e11b7a8f332c56d9ae0cdc6e6cd2b33580b Mon Sep 17 00:00:00 2001 From: apades Date: Tue, 29 Jun 2021 11:17:35 +0800 Subject: [PATCH 3/4] fix prettier config --- .prettierrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.prettierrc b/.prettierrc index fe76cde6..35f47aea 100755 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,5 @@ { - "root:true, + "root":true, "bracketSpacing": true, "printWidth": 120, "proseWrap": "never", From 5c0c078ae73fa28a3a9cb1c88a40831ea6850656 Mon Sep 17 00:00:00 2001 From: apades Date: Tue, 29 Jun 2021 11:22:17 +0800 Subject: [PATCH 4/4] fix prettier config --- .prettierrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.prettierrc b/.prettierrc index fe76cde6..35f47aea 100755 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,5 @@ { - "root:true, + "root":true, "bracketSpacing": true, "printWidth": 120, "proseWrap": "never",