Ошибка Modalize React-Native: не поддерживается использование minDist с activeOffsetX или activeOffsetY

#react-native #react-native-gesture-handler #react-native-modalize

#react-native #react-native-gesture-handler #react-native-modalize

Вопрос:

Я использую RN Modalize, и у меня было несколько проектов с использованием react-native-modalize библиотеки, и пока никаких проблем. но на этот раз я создал новый проект и следовал инструкциям по применению react-native-modalize , но получаю ошибку, подобную этому изображению

Здесь мой Login.js :

 import React, {useRef} from 'react';
import {
  ImageBackground,
  StyleSheet,
  Text,
  TouchableOpacity,
  View,
} from 'react-native';
import {Modalize} from 'react-native-modalize';
import {login_bottom, login_top} from '../assets';
import {colors} from '../constants';

const Login = ({navigation}) => {
  const modalizeRef = useRef(null);
  const onPressLogin = () => {
    modalizeRef.current?.open();
  };

  return (
    <>
      <Modalize ref={modalizeRef}></Modalize>
      <View style={styles.container}>
        <View style={{flex: 1, justifyContent: 'space-around'}}>
          <ImageBackground
            source={login_top}
            style={{
              width: null,
              height: '100%',
            }}
          />
        </View>
        <View style={{flex: 1, justifyContent: 'space-around'}}>
          <View style={styles.containerLogin}>
            <TouchableOpacity style={styles.loginButton} onPress={onPressLogin}>
              <Text style={styles.loginButtonText}>LOGIN</Text>
            </TouchableOpacity>
          </View>
        </View>
        <View style={{flex: 1, justifyContent: 'space-around'}}>
          <ImageBackground
            source={login_bottom}
            style={{
              width: null,
              height: '105%',
            }}
          />
        </View>
      </View>
    </>
  );
};
 

Здесь мой index.js :

 /**
 * @format
 */
import {AppRegistry} from 'react-native';
import App from './src/App';
import {name as appName} from './app.json';
import {gestureHandlerRootHOC} from 'react-native-gesture-handler';

AppRegistry.registerComponent(appName, () => gestureHandlerRootHOC(App));

 

Здесь мой MainActivity.java:

 package com.backbone;

import com.facebook.react.ReactActivity;

import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;

public class MainActivity extends ReactActivity {

  /**
   * Returns the name of the main component registered from JavaScript. This is
   * used to schedule
   * rendering of the component.
   */
  @Override
  protected String getMainComponentName() {
    return "BackBone";
  }

  @Override
  protected ReactActivityDelegate createReactActivityDelegate() {
    return new ReactActivityDelegate(this, getMainComponentName()) {
      @Override
      protected ReactRootView createRootView() {
        return new RNGestureHandlerEnabledRootView(MainActivity.this);
      }
    };
  }

}

 

И это моя зависимость :

     "react": "16.13.1",
    "react-native": "0.63.4",
    "react-native-gesture-handler": "^2.0.0",
    "react-native-modalize": "^2.0.12",
 

Ответ №1:

в настоящее время react-native-modalize не создан для поддержки версии v2 обработчика жестов react-native.

На Github открыт PR: https://github.com/jeremybarbet/react-native-modalize/pull/375

Нам нужно подождать, пока это не будет исправлено. Тем временем вы понижаете версию своего обработчика жестов react-native

Комментарии:

1. Да, я открываю проблему на github github.com/jeremybarbet/react-native-modalize/issues/374