IM с очень странной ошибкой здесь.
Я делаю приложение, в котором пользователь может увеличивать и уменьшать масштаб и рисовать некоторые вещи на экране SVG, используя Reaction-native-svg.
В моем мобильном приложении, работающем на симуляторе, преобразование работает отлично.
В том же приложении, работающем как веб-приложение (expo start --web), преобразование никогда не применялось. Даже если я жестко закодирую его на матрице.
Это часть моего кода, которая имеет значение:
export default class DrawView extends React.Component {
constructor(props, context) {
super(props, context);
this.state = {
currentMax: 0,
currentPoints: [],
reaction: new Reaction(),
zoom: 1,
left: 0,
top: 0,
transformerMatrix: { a: 1, e: 1, c: 0, f: 0 },
startDrawing: false,
seconds: 0,
email: '',
userSentData: false,
showPopUp: false
};
Это простая матрица преобразователя. В моем методе рендеринга у меня есть:
<View style={{ flex: 1 }}>
<View
//onLayout={this._onLayoutContainer}
style={[
styles.drawContainer,
this.props.containerStyle,
{ width: this.props.width, height: this.props.height }
]}
>
<View {...this._panResponder.panHandlers}>
<Svg
style={styles.drawSurface}
width={this.props.width}
height={this.props.height}
>
<G
transform={{
translateX: this.state.transformerMatrix.c,
translateY: this.state.transformerMatrix.f,
scale: this.state.transformerMatrix.a
}}
>
{/* <Grid /> */}
<Image
width={'100%'}
height={'100%'}
preserveAspectRatio="xMidYMid slice"
opacity="1"
href={require('../assets/images/FinalEarthGifPaletaWeb-8192x8192.gif')}
clipPath="url(#clip)"
/>
Если я, например, изменю свой transformerMatrix.a на 1.3. Изображение увеличено на 30%. На симуляторе это делает преобразование. Но в webApp ничего не происходит.
Как видите. Ничто не увеличено в приложении webapp, вместо iOS.
Кто-нибудь знает что-то связанное с не-преобразованием response-native-svg в webApp?