@tarojs/components-react 4.0.0-beta.35 → 4.0.0-beta.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@ import { jsx } from 'react/jsx-runtime';
7
7
  function Image(props) {
8
8
  const imgRef = useRef(null);
9
9
  const observer = useRef({});
10
- const [_, setIsLoaded] = useState(false);
10
+ const [, setIsLoaded] = useState(false);
11
11
  const {
12
12
  className,
13
13
  style = {},
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\n\nimport { useCallback, useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n}\n\nfunction Image (props: IProps) {\n const imgRef = useRef<HTMLImageElement | null>(null)\n const observer = useRef<Partial<IntersectionObserver>>({})\n const [_, setIsLoaded] = useState(false)\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n ...reset\n } = props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n const imageOnLoad = useCallback((e) => {\n const { onLoad } = props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }, [props])\n\n useEffect(() => {\n if (lazyLoad) {\n observer.current = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n setIsLoaded(true)\n // findDOMNode(this).children[0].src = src\n imgRef.current!.src = src\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n observer.current.observe?.(imgRef.current!)\n }\n\n return () => {\n observer.current?.disconnect?.()\n }\n }, [lazyLoad, src])\n\n return (\n <div className={cls} style={style} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n data-src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n}\n\nexport default Image\n"],"names":["Image","props","imgRef","useRef","observer","_","setIsLoaded","useState","className","style","src","mode","onError","lazyLoad","imgProps","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","imageOnLoad","useCallback","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","useEffect","current","IntersectionObserver","entries","length","isIntersecting","rootMargin","_b","_a","observe","call","disconnect","_jsx","children","ref","img"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\n\nimport { useCallback, useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n}\n\nfunction Image (props: IProps) {\n const imgRef = useRef<HTMLImageElement | null>(null)\n const observer = useRef<Partial<IntersectionObserver>>({})\n const [, setIsLoaded] = useState(false)\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n ...reset\n } = props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n const imageOnLoad = useCallback((e) => {\n const { onLoad } = props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }, [props])\n\n useEffect(() => {\n if (lazyLoad) {\n observer.current = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n setIsLoaded(true)\n // findDOMNode(this).children[0].src = src\n imgRef.current!.src = src\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n observer.current.observe?.(imgRef.current!)\n }\n\n return () => {\n observer.current?.disconnect?.()\n }\n }, [lazyLoad, src])\n\n return (\n <div className={cls} style={style} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n data-src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n}\n\nexport default Image\n"],"names":["Image","props","imgRef","useRef","observer","setIsLoaded","useState","className","style","src","mode","onError","lazyLoad","imgProps","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","imageOnLoad","useCallback","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","useEffect","current","IntersectionObserver","entries","length","isIntersecting","rootMargin","_b","_a","observe","call","disconnect","_jsx","children","ref","img"],"mappings":"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"}
@@ -9,7 +9,7 @@ var _tmpl$ = /*#__PURE__*/template(`<div>`),
9
9
  function Image(props) {
10
10
  const imgRef = useRef(null);
11
11
  const observer = useRef({});
12
- const [_, setIsLoaded] = useState(false);
12
+ const [, setIsLoaded] = useState(false);
13
13
  const {
14
14
  className,
15
15
  style: style$1 = {},
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\n\nimport { useCallback, useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n}\n\nfunction Image (props: IProps) {\n const imgRef = useRef<HTMLImageElement | null>(null)\n const observer = useRef<Partial<IntersectionObserver>>({})\n const [_, setIsLoaded] = useState(false)\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n ...reset\n } = props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n const imageOnLoad = useCallback((e) => {\n const { onLoad } = props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }, [props])\n\n useEffect(() => {\n if (lazyLoad) {\n observer.current = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n setIsLoaded(true)\n // findDOMNode(this).children[0].src = src\n imgRef.current!.src = src\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n observer.current.observe?.(imgRef.current!)\n }\n\n return () => {\n observer.current?.disconnect?.()\n }\n }, [lazyLoad, src])\n\n return (\n <div className={cls} style={style} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n data-src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n}\n\nexport default Image\n"],"names":["Image","props","imgRef","useRef","observer","_","setIsLoaded","useState","className","style","src","mode","onError","lazyLoad","imgProps","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","imageOnLoad","useCallback","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","useEffect","current","IntersectionObserver","entries","length","isIntersecting","rootMargin","_b","_a","observe","call","disconnect","_el$","_tmpl$","_$spread","_$insert","_el$2","_tmpl$2","_$addEventListener","_$use","img","_$setAttribute","_el$3","_$effect","_$p","_$style"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/image/index.tsx"],"sourcesContent":["import './style/index.css'\n\nimport classNames from 'classnames'\n\nimport { useCallback, useEffect, useRef, useState } from '../../utils/hooks'\n\nimport type React from 'react'\n\ninterface IProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string\n mode: string\n onError: () => void\n onLoad: (e) => void\n lazyLoad?: boolean\n imgProps?: Record<string, any>\n}\n\nfunction Image (props: IProps) {\n const imgRef = useRef<HTMLImageElement | null>(null)\n const observer = useRef<Partial<IntersectionObserver>>({})\n const [, setIsLoaded] = useState(false)\n const {\n className,\n style = {},\n src,\n mode,\n onError,\n lazyLoad,\n imgProps,\n ...reset\n } = props\n const cls = classNames(\n 'taro-img',\n {\n 'taro-img__widthfix': mode === 'widthFix'\n },\n className\n )\n const imgCls = classNames(\n 'taro-img__mode-' +\n (mode || 'scaleToFill').toLowerCase().replace(/\\s/g, '')\n )\n\n const imageOnLoad = useCallback((e) => {\n const { onLoad } = props\n Object.defineProperty(e, 'detail', {\n enumerable: true,\n writable: true,\n value: {\n width: e.target.width,\n height: e.target.height\n }\n })\n\n onLoad && onLoad(e)\n }, [props])\n\n useEffect(() => {\n if (lazyLoad) {\n observer.current = new IntersectionObserver(\n entries => {\n // 异步 api 关系\n if (entries[entries.length - 1].isIntersecting) {\n setIsLoaded(true)\n // findDOMNode(this).children[0].src = src\n imgRef.current!.src = src\n }\n },\n {\n rootMargin: '300px 0px'\n }\n )\n observer.current.observe?.(imgRef.current!)\n }\n\n return () => {\n observer.current?.disconnect?.()\n }\n }, [lazyLoad, src])\n\n return (\n <div className={cls} style={style} {...reset}>\n {lazyLoad ? (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n data-src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n ) : (\n <img\n ref={img => (imgRef.current = img)}\n className={imgCls}\n src={src}\n onLoad={imageOnLoad}\n onError={onError}\n {...imgProps}\n />\n )}\n </div>\n )\n}\n\nexport default Image\n"],"names":["Image","props","imgRef","useRef","observer","setIsLoaded","useState","className","style","src","mode","onError","lazyLoad","imgProps","reset","__rest","cls","classNames","imgCls","toLowerCase","replace","imageOnLoad","useCallback","e","onLoad","Object","defineProperty","enumerable","writable","value","width","target","height","useEffect","current","IntersectionObserver","entries","length","isIntersecting","rootMargin","_b","_a","observe","call","disconnect","_el$","_tmpl$","_$spread","_$insert","_el$2","_tmpl$2","_$addEventListener","_$use","img","_$setAttribute","_el$3","_$effect","_$p","_$style"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/components-react",
3
- "version": "4.0.0-beta.35",
3
+ "version": "4.0.0-beta.36",
4
4
  "description": "",
5
5
  "main:h5": "dist/index.js",
6
6
  "main": "dist/index.js",
@@ -28,8 +28,8 @@
28
28
  "classnames": "^2.2.5",
29
29
  "swiper": "6.8.0",
30
30
  "tslib": "^2.6.2",
31
- "@tarojs/components": "4.0.0-beta.35",
32
- "@tarojs/taro": "4.0.0-beta.35"
31
+ "@tarojs/taro": "4.0.0-beta.36",
32
+ "@tarojs/components": "4.0.0-beta.36"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@babel/core": "^7.14.5",