mirror of
https://github.com/zoriya/react-native-svg.git
synced 2025-12-06 07:06:11 +00:00
fix: Call onLoad prop in SvgCssUri (#1927)
SvgCssUri calls onLoad if it's passed, just like in PR #1817 (with SvgUri).
This commit is contained in:
@@ -127,6 +127,7 @@ react-native run-android
|
||||
#### Pre RN 0.68
|
||||
|
||||
4. Scroll to the bottom until you find:
|
||||
|
||||
```xml
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
```
|
||||
|
||||
4
USAGE.md
4
USAGE.md
@@ -92,7 +92,7 @@ If remote SVG file contains CSS in `<style>` element, use `SvgCssUri`:
|
||||
```jsx
|
||||
import * as React from 'react';
|
||||
import { ActivityIndicator, View, StyleSheet } from 'react-native';
|
||||
import { SvgUri } from 'react-native-svg';
|
||||
import { SvgCssUri } from 'react-native-svg';
|
||||
export default function TestComponent() {
|
||||
const [loading, setLoading] = React.useState(true);
|
||||
const onError = (e: Error) => {
|
||||
@@ -105,7 +105,7 @@ export default function TestComponent() {
|
||||
};
|
||||
return (
|
||||
<>
|
||||
<SvgUri
|
||||
<SvgCssUri
|
||||
width="100"
|
||||
height="100"
|
||||
uri="https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/ruby.svg"
|
||||
|
||||
13
src/css.tsx
13
src/css.tsx
@@ -695,11 +695,18 @@ export function SvgCss(props: XmlProps) {
|
||||
}
|
||||
|
||||
export function SvgCssUri(props: UriProps) {
|
||||
const { uri, onError = err } = props;
|
||||
const { uri, onError = err, onLoad } = props;
|
||||
const [xml, setXml] = useState<string | null>(null);
|
||||
useEffect(() => {
|
||||
uri ? fetchText(uri).then(setXml).catch(onError) : setXml(null);
|
||||
}, [onError, uri]);
|
||||
uri
|
||||
? fetchText(uri)
|
||||
.then((data) => {
|
||||
setXml(data);
|
||||
onLoad?.();
|
||||
})
|
||||
.catch(onError)
|
||||
: setXml(null);
|
||||
}, [onError, uri, onLoad]);
|
||||
return <SvgCss xml={xml} override={props} />;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user